Python自带web服务器尝试使用

尝试使用Python自带的Web服务器+PythonCGI的方式
1.在d盘建立一个Cgi-bin目录
2.在命令行中进入D:

C:\Users\XXX>D:
D:\>python -m httpserver --cgi默认打开8000端口

3.将代码hellocgi.py放入Cgi-bin中
我们老师给的代码如下:

import cgi
reshtml='''Content-Type:text/html\n
<html>
<head><title>hello world CGI</title></head>
<body>
your input is :<B>%s</B>
</body>
</html>'''
form=cgi.FieldStorage()
a=form['a'].value
print(reshtml%(a))

4.在浏览器中输入http://127.0.0.1:8000/cgi-bin/hellocgi.py?a=1
5.输出结果为:
这里写图片描述
命令行中的输出为:
这里写图片描述
以上为成功的过程!!


下面是遇见的问题:
首先一定是输入python -m http.server --cgi
这是python3中的方法。

BaseHTTPServer:提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。
SimpleHTTPServer:包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
CGIHTTPServer:包含处理POST请求和执行CGIHTTPRequestHandler类。”
这些是python2中的。python3中已经没有了。python3在D:\python\Lib\http中有个server.py。
另外就是老师给的代码一开始有些语法错误,不过我放在这里的是改好了的。


代码中有个form=cgi.FieldStorage()
a=form['a'].value

FieldStorage是cgi模块中的一个类。在Python CGI脚本开始时被实例化,读出Web客户端提交来的用户信息,含有一个类似字典的对象,具有一系列的key-value对,key是通过表单传入的表单条目的名字,value为相应的数据。

猜你喜欢

转载自blog.csdn.net/Han_L/article/details/78843319