如何在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>"

更新日期:27-Feb-2020

1K+ 查看

开启你的 职业生涯

通过完成课程获取认证

开始
广告