Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python CGI 스크립트에서 모든 HTTP 헤더를 읽는 방법은 무엇입니까?


파이썬을 사용하여 아파치 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 pythonimport osprint "Content-Type:text/html"print "Cache-Control:no-cache"printprint "" 헤더 이름, os.environ의 헤더 값. iteritems():if headername.startswith("HTTP_"):print "

{0} ={1}

".format(headername, headervalue) print ""