如何讀取 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>"

更新於:2020-02-27

1K+ 瀏覽

開啟您的 職業

完成課程即可獲得認證

開始
廣告
© . All rights reserved.