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

时间:2015-07-31 16:08:13

标签: python http-headers cgi

我有一个python CGI脚本,它接收包含特定HTTP标头的POST请求。你如何阅读和解析收到的标题?我没有使用BaseHTTPRequestHandlerHTTPServer。我收到sys.stdin.read()帖子的正文。感谢。

2 个答案:

答案 0 :(得分:3)

可以使用python在apache CGI脚本中获取自定义请求标头的值。解决方案类似于this

Apache的mod_cgi将为收到的每个HTTP请求头设置环境变量,以这种方式设置的变量都将具有HTTP_前缀,因此例如x-client-version: 1.2.3将可用作变量{{1} }。

因此,要阅读上述自定义标题,只需致电HTTP_X_CLIENT_VERSION

以下脚本将打印所有os.environ["HTTP_X_CLIENT_VERSION"]标题和值:

HTTP_*

答案 1 :(得分:0)

您可能希望查看Python标准库中包含的cgi module。它似乎有一个cgi.parse_header(string)函数,您可能会发现它有助于获取标题。