如何在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+ 檢視

開啟你的 職業生涯

透過完成課程獲取認證

開始
廣告
© . All rights reserved.