如何用PYTHON的CGIHTTPSERVER模块模拟POST请求?

这次又要逼真一点点,可以弄POST请求啦。

在WEB根目录下新建cgi-bin目录(据说是规模要求),然后运行命令:

1
python -m CGIHTTPServer

如何用PYTHON的CGIHTTPSERVER模块模拟POST请求?  

CGI-BIN目录下,form.py处理POST请求的内容(简化到不行):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# -*- 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元素啦。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!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请求?

上一篇:Git 操作 免平凡使用用户名和密码方法


下一篇:SQL SERVER 数据库面试题