Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีอ่าน HTTP Headers ทั้งหมดใน Python CGI Script

สามารถดึงค่า Custom Request Header ใน Apache CGI Script ด้วย Python ได้ วิธีแก้ปัญหานี้คล้ายกับนี้

Apache mod_cgi จะตั้งค่า Environment Variables สำหรับ HTTP Request Header แต่ละตัวที่รับมา Variables ที่ตั้งค่านี้จะมี Prefix HTTP_ ดังนั้นตัวอย่างเช่น x-client-version: 1.2.3 จะพร้อมใช้งานเป็น Variable HTTP_X_CLIENT_VERSION

ดังนั้น เพื่ออ่าน Custom Header ข้างต้น ให้เรียก os.environ["HTTP_X_CLIENT_VERSION"]

Script ด้านล่างจะพิมพ์ HTTP_* Headers และ Values ทั้งหมด -

#!/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.items():
    if headername.startswith("HTTP_"):
        print "<p>{0} = {1}</p>".format(headername, headervalue)
print "</html></body>"