如何读取 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>"
广告