Ale*_*hel 5 python cgi http-headers
我有一个python CGI脚本,它接收包含特定HTTP标头的POST请求。您如何阅读和解析收到的标头?我没有使用BaseHTTPRequestHandler
或HTTPServer
。我收到的邮件正文sys.stdin.read()
。谢谢。
可以使用python在apache CGI脚本中获取自定义请求标头的值。解决方法与此类似。
Apache的mod_cgi将为收到的每个HTTP请求标头设置环境变量,以这种方式设置的变量都将带有HTTP_
前缀,因此例如x-client-version: 1.2.3
可以作为variable使用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>"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3277 次 |
最近记录: |