python自带CGIHTTPServer服务器与htm进行CGIl交互
使用环境:
win7专业版
python 2.7.3
chrome 23.0
============
安装好python后我测试下面的内容时还没有设置全局路径,可以设置python成全局路径
============
开始:
1 进入某个你想创建为服务器的文件夹,假如文件夹名为www。从cmd进入www文件夹,运行python -m CGIHTTPServer,默认端口是8000,可能被其他程序占用(我跑程序的时候就被占用了,这个我弄了好久才发现),可以自己设置端口(最好大于1024)。
python -m CGIHTTPServer 端口号 例如:python -m CGIHTTPServer 8888
2 进入www文件夹,新建一个cgi-bin的文件夹,用来存放.py文件,原因看官方文件:http://docs.python.org/2/library/cgihttpserver.html?highlight=cgihttpserver#CGIHTTPServer
3 在www文件夹中新建一个test.html文件
<!DOCTYPE HTML>
<html>
<head>
<title>
hello python cgi
</title>
</head>
<body>
<p>test for python cgi server</p>
<form action="/cgi-bin/form.py">
<label for="">text:</label><input type="text" name="text" value = "test">
<input type="submit">
</form>
</body>
</html>
4 在cgi-bin文件中新建form.py文件
# -*- 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['text'].value
formhtml = '''
<label for="">you say:</label><input type="text" value="%s">
'''
print formhtml % (content)
5 测试确定已启动服务器,即已经执行python -m CGIHTTPServer。端口号自定,我这里使用自己设置的8080端口。打开firefox,输入路径localhost:8080/www/text.html
测试结果