如何在Python CGI脚本中读取所有HTTP头?

如何在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 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程