天天看點

如何用PYTHON的CGIHTTPSERVER子產品模拟POST請求?

這次又要逼真一點點,可以弄post請求啦。

在web根目錄下建立cgi-bin目錄(據說是規模要求),然後運作指令:

<a href="http://www.cnblogs.com/aguncn/p/5326472.html#">?</a>

1

<code>python -m cgihttpserver</code>

如何用PYTHON的CGIHTTPSERVER子產品模拟POST請求?

  

cgi-bin目錄下,form.py處理post請求的内容(簡化到不行):

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

<code># -*- coding: utf-8 -*-</code>

<code>import</code> <code>cgi</code>

<code>header</code><code>=</code> <code>'content-type: text/html\n\n'</code>

<code>html</code><code>=</code> <code>'&lt;h3&gt;接受處理表單資料\n&lt;/h3&gt;'</code>

<code>#列印傳回的内容</code>

<code>#print header</code>

<code>#print html</code>

<code># 接受表達送出的資料</code>

<code>form</code><code>=</code> <code>cgi.fieldstorage()</code>

<code>#print '接收表達get的資料 :',form</code>

<code>print</code> <code>'&lt;p /&gt;'</code>

<code># 解析處理送出的資料</code>

<code>content</code><code>=</code> <code>form[</code><code>'username'</code><code>].value</code>

<code>print</code> <code>content,</code><code>'$$$$$$$$$$$$$'</code>

<code>formhtml</code><code>=</code> <code>'''</code>

<code>%s</code>

<code>'''</code>

<code>print</code> <code>formhtml</code><code>%</code> <code>(</code><code>'登陸成功'</code><code>)</code>

  然後,就可以測試extjs中的送出表單更新html元素啦。

27

28

29

30

31

32

<code>&lt;!</code><code>doctype</code> <code>html&gt;</code>

<code>&lt;</code><code>html</code><code>&gt;</code>

<code>&lt;</code><code>head</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>title</code><code>&gt;extjs&lt;/</code><code>title</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>meta</code> <code>http-equiv="content-type" content="text/html; charset=utf-8"/&gt;</code>

<code>    </code><code>&lt;</code><code>link</code> <code>rel="stylesheet" type="text/css" href="extjs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css"&gt;</code>

<code>        </code><code>&lt;</code><code>script</code> <code>type="text/javascript" src="extjs/ext-all.js"&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>script</code> <code>type="text/javascript" src="extjs/bootstrap.js"&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>script</code> <code>type="text/javascript" src="extjs/packages/ext-theme-crisp/build/ext-theme-crisp.js"&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>script</code> <code>type="text/javascript"&gt;</code>

<code>            </code><code>ext.onready(function(){</code>

<code>        </code><code>var loader = ext.get("loginmsg").getloader();</code>

<code>        </code><code>ext.get('loginbtn').on('click', login);</code>

<code>        </code><code>function login(){</code>

<code>          </code><code>loader.load({</code>

<code>            </code><code>form: "loginform",</code>

<code>            </code><code>url: '/cgi-bin/form.py'</code>

<code>          </code><code>});</code>

<code>        </code><code>}</code>

<code>      </code><code>});</code>

<code>    </code><code>&lt;/</code><code>script</code><code>&gt;</code>

<code>&lt;/</code><code>head</code><code>&gt;</code>

<code>&lt;</code><code>body</code> <code>style="margin: 20px"&gt;</code>

<code>&lt;</code><code>form</code> <code>id="loginform"&gt;</code>

<code>  </code><code>使用者名:&lt;</code><code>input</code> <code>name="username" type="text"&gt;</code>

<code>  </code><code>密碼:&lt;</code><code>input</code> <code>name="password" type="password"&gt;</code>

<code>  </code><code>&lt;</code><code>input</code> <code>type="button" value="登陸" id="loginbtn"&gt;</code>

<code>&lt;/</code><code>form</code><code>&gt;</code>

<code>狀态:&lt;</code><code>span</code> <code>id="loginmsg"&gt;&lt;/</code><code>span</code><code>&gt;</code>

<code>&lt;/</code><code>body</code><code>&gt;</code>

<code>&lt;/</code><code>html</code><code>&gt;</code>

如何用PYTHON的CGIHTTPSERVER子產品模拟POST請求?