如何用PYTHON的CGIHTTPSERVER模块模拟POST请求?
这次又要逼真一点点,可以弄POST请求啦。
在WEB根目录下新建cgi-bin目录(据说是规模要求),然后运行命令:
python -m CGIHTTPServer
CGI-BIN目录下,form.py处理POST请求的内容(简化到不行):
# -*- coding: utf-8 -*-
import cgi
header = 'Content-Type: text/html\n\n'
html = '<h3>接受处理表单数据\n</h3>'
#打印返回的内容
#print header
#print html
# 接受表达提交的数据
form = cgi.FieldStorage()
#print '接收表达get的数据 :',form
print '<p />'
# 解析处理提交的数据
content = form['userName'].value
print content, '$$$$$$$$$$$$$'
formhtml = '''
%s
'''
print formhtml % ('登陆成功')
然后,就可以测试EXTJS中的提交表单更新HTML元素啦。
<!DOCTYPE html>
<html>
<head>
<title>ExtJs</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="ExtJs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css">
<script type="text/javascript" src="ExtJs/ext-all.js"></script>
<script type="text/javascript" src="ExtJs/bootstrap.js"></script>
<script type="text/javascript" src="ExtJs/packages/ext-theme-crisp/build/ext-theme-crisp.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
var loader = Ext.get("loginMsg").getLoader();
Ext.get('loginBtn').on('click', login);
function login(){
loader.load({
form: "loginForm",
url: '/cgi-bin/form.py'
});
}
});
</script>
</head>
<body style="margin: 20px">
<form id="loginForm">
用户名:<input name="userName" type="text">
密码:<input name="password" type="password">
<input type="button" value="登陆" id="loginBtn">
</form>
状态:<span id="loginMsg"></span>
</body>
</html>

如何用PYTHON的CGIHTTPSERVER模块模拟POST请求?的更多相关文章
- python利用requests库模拟post请求时json的使用
我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POS ...
- 用python的Requests库模拟http请求
一.先了解几个重要的http请求头或响应头信息 Request Headers: Host: 描述请求将被发送的目的地,包括,且仅仅包括域名和端口号. Origin: 说明请求从哪里发起的,包括,且仅 ...
- Python 使用matplotlib模块模拟掷骰子
掷骰子 骰子类 # die.py 骰子类模块 from random import randint class Die(): """骰子类""&quo ...
- python用random模块模拟抽奖逻辑(print修改end参数使打印结果不分行)
import random #引入random模块,运用random函数list_one=["10081","10082","10083" ...
- python使用requests模块模拟登陆知乎
from bs4 import BeautifulSoup import requests import time def captcha(captcha_data): with open(" ...
- 基于python第三方requests 模块的HTTP请求类
使用requests模块构造的下载器,首先安装第三方库requests pip install requests 1 class StrongDownload(object): def __init_ ...
- python 爬虫 urllib模块 发起post请求
urllib模块发起的POST请求 案例:爬取百度翻译的翻译结果 1.通过浏览器捉包工具,找到POST请求的url 针对ajax页面请求的所对应url获取,需要用到浏览器的捉包工具.查看百度翻译针对某 ...
- python中Requests模块中https请求在设置为忽略有效性验证,屏蔽告警信息的方式
增加下面的就ok了from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.packages.ur ...
- Python爬虫3-parse编码与利用parse模拟post请求
GitHub代码练习地址:①利用parse模拟post请求:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac04_pars ...
随机推荐
- jquery-layer弹出框
样式1: 代码: 前台jsp: $("#add_table").bind("click",function(){ layer.open({ type: 2, t ...
- sqlserver 创建维护计划失败(SQL Server: 14234 错误)自动备份数据库计划
创建维护计划失败(SQL Server: 14234 错误) (2011-06-25 14:44:24) 转载▼ 标签: 杂谈 分类: MSSQL 错误信息:对于 JobStep ' testBak ...
- bzoj 3029 守卫者的挑战 —— 概率DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3029 设 f[i][j][k] 表示第 i 次挑战,已经成功 j 次,剩余容量为 k 的概率 ...
- node.js怎么配置访问本地的html文件?
node.js怎么配置访问本地的html文件? https://segmentfault.com/q/1010000000251204
- 证明,为什么HBase在创建表时,列簇是必须要,列可不要?
若是删除不存在的列修饰符,看下会是什么情况 package zhouls.bigdata.HbaseProject.Test1; import javax.xml.transform.Result; ...
- xml之基本操作
XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Lang ...
- 5.29 @Value{name}无效时怎么办Could not resolve placeholder ‘name22’ in value “${name22}” 错误解决
springboot Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder ‘name22’ in ...
- VUE-搜索过滤器
先看看效果 首先引入 <script src="https://cdn.jsdelivr.net/npm/vue"></script> HTML部分 < ...
- 远程连接Oracle设置
1:打开net manager:开始->程序->oracle->配置和移植工具->Net Manager 2:添加服务器名->名子自定义,一般根据项目自定义,自己知道就行 ...
- WEB笔记-2 剖析CSS规则
2.1 剖析CSS规则 规则即指令,其声明了需要修改的元素及要应用给元素的样式. 2.2 为文档添加样式的三种方法 行内样式:直接写在HTML文档标签中的style属性当中,行内元素只 ...