Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để đọc tất cả các tiêu đề HTTP trong tập lệnh Python CGI?


Có thể nhận giá trị của tiêu đề yêu cầu tùy chỉnh trong tập lệnh apache CGI với python. Giải pháp tương tự như thế này.

Mod_cgi của Apache sẽ đặt các biến môi trường cho mỗi tiêu đề yêu cầu HTTP nhận được, các biến được đặt theo cách này sẽ có tiền tố HTTP_, vì vậy, ví dụ:x-client-version:1.2.3 sẽ có sẵn dưới dạng biến HTTP_X_CLIENT_VERSION.

Vì vậy, để đọc tiêu đề tùy chỉnh ở trên, chỉ cần gọi os.environ ["HTTP_X_CLIENT_VERSION"].

Tập lệnh dưới đây sẽ in tất cả các tiêu đề và giá trị 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>"