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

จะอ่านส่วนหัว HTTP ทั้งหมดในสคริปต์ Python CGI ได้อย่างไร


เป็นไปได้ที่จะได้รับค่าส่วนหัวของคำขอที่กำหนดเองในสคริปต์ apache CGI ด้วย python วิธีแก้ไขก็คล้ายๆ กันนี้

mod_cgi ของ Apache จะตั้งค่าตัวแปรสภาพแวดล้อมสำหรับส่วนหัวคำขอ 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>"