WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。(廖雪峰老师的原话)
from wsgiref.simple_server import make_server
def appplication(environ, start_response):
# 按着http协议解析数据:environ
# 按着http协议组装数据:start_response
print(environ)
print(type(environ))
# 一个发送HTTP响应的函数
start_response('200 OK', [])
return [b"<h1>10000Husky</h1>"]
# 封装socket
httped = make_server("", 8090, appplication)
# 等待用户连接:conn, addr = sock.accept()
httped.serve_forever()
访问结果如下
如下图所示,environ是一个包含所有HTTP请求信息的字典。
如果我们想建立一个动态的网页,可以根据提取的"PATH_INFO"参数来响应不同的页面。
from wsgiref.simple_server import make_server
def appplication(environ, start_response):
# 按着http协议解析数据:environ
# 按着http协议组装数据:start_response
print(environ)
print(type(environ))
# 当前的请求路径
path = environ.get("PATH_INFO")
start_response('200 OK', [])
if path == "/main_page":
with open('1.html', 'r') as f:
data = f.read()
elif path == "/login":
with open('login.html', 'r') as f:
data = f.read()
return [data.encode("utf-8")]
# 封装socket
httped = make_server("", 8090, appplication)
# 等待用户连接:conn, addr = sock.accept()
httped.serve_forever()
输入main_page后访问结果如下