我有一个python CGI脚本,它接收包含特定HTTP标头的POST请求。你如何阅读和解析收到的标题?我没有使用BaseHTTPRequestHandler
或HTTPServer
。我收到sys.stdin.read()
帖子的正文。感谢。
答案 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)函数,您可能会发现它有助于获取标题。