上节说到,环境字典是由服务器聚集的给每一个从客户端接收到的请求的CGI式的变量. 下面的脚本会输出完整的字典:
#! /usr/bin/env python
# 导入Python绑定的 WSGI 服务器
from wsgiref.simple_server import make_server
def application (environ, start_response):
# 将环境的键-值对进行字符串话并排序
response_body = [
'%s: %s' % (key, value) for key, value in sorted(environ.items())
]
response_body = '\n'.join(response_body)
status = '200 OK'
response_headers = [
('Content-Type', 'text/plain'),
('Content-Length', str(len(response_body)))
]
start_response(status, response_headers)
return [response_body]
# 实例化服务器端
httpd = make_server (
'localhost', # 主机名
8051, # 端口号
application # 应用的对象名,这个例子中是一个函数
)
# 等待单个请求, 响应并退出
httpd.handle_request() 把上面的脚本保存到environment.py文件, 打开终端,进入保存该文件的目录下, 运行 python environment.py命令. 服务器就会监听
http://localhost:8051 了.
打开浏览器试一下就可以看到一些从服务器返回的信息. (译者已经在Ubuntu环境下成功运行该脚本)
注:
如果是在windows环境下, 需要先将 python.exe路径添加到系统环境变量Path中. 如果是Linux环境则不需要这么复杂.