如何在Python CGI脚本中读取所有HTTP头?
在用Python编写Apache CGI脚本时,可以获取自定义请求头的值。解决方法类似于这个:
Apache的mod_cgi会为接收到的每个HTTP请求头设置环境变量,以这种方式设置的变量都有一个HTTP_前缀,因此例如x-client-version: 1.2.3将作为变量HTTP_X_CLIENT_VERSION可用。
所以,要读取上述自定义头,只需调用os.environ[“HTTP_X_CLIENT_VERSION”]。
下面的脚本将打印所有的HTTP_*头和值-
#!/usr/bin/env python
import os
print "Content-Type: text/html"
print "Cache-Control: no-cache"
print
print "<html><body>"
for headername, headervalue in os.environ.iteritems():
if headername.startswith("HTTP_"):
print "<p>{0} = {1}</p>".format(headername, headervalue)
print "</html></body>"
阅读更多:Python 教程