編寫簡單的支持CGI的Python腳本(本文介紹3.2版本的Python):
print("Status: 200 OK") print("Content-type: text/html") print() # 打印一行空白行,用于分隔HTTP Header和正文 print("Hello World!
")
這樣就可以了,大家可以猜出CGI是將標準輸出流重新定向到HTTP輸出流來實現(xiàn)網(wǎng)頁或者數(shù)據(jù)傳輸?shù)摹?/p>
當然這個在IIS中是不能直接運行的,我們需要配置一下,打開Internet 信息服務(IIS)管理器界面,選擇“處理程序映射”。
在接下來出現(xiàn)的界面右側選擇“添加模塊映射”。
IIS7添加模塊映射
假設我們的Python 3.2安裝于C:Python32,那么可以向下圖這樣填寫:
然后點擊確定,在接下來出現(xiàn)的對話框選擇“是”。
好了,我們的配置完成了,重啟一下IIS,然后趕快試試剛才的代碼吧。可能有人會抱怨,用CGI編寫網(wǎng)頁一旦報錯調試會比較麻煩,比如報下面的錯誤:
HTTP 錯誤 502.2 - Bad Gateway
指定的 CGI 應用程序由于未返回完整的一組 HTTP 頭而產(chǎn)生錯誤行為。它實際返回的頭是“Traceback (most recent call last): File "E:projects est.py", line 3, in
其實我們只需要在最開始引入import cgitb; cgitb.enable()就可以了,就像下面這樣:
import cgitb; cgitb.enable() print("Status: 200 OK") print("Content-type: text/html") print() # 打印一行空白行,用于分隔HTTP Header和正文 print("Hello World!
")
這樣一旦出錯,就會以友好的方式將錯誤輸出來。
對于表單的處理,可以參考import cgi模塊(cgi.FieldStorage),網(wǎng)上有很多此方面的介紹,我就不多說了,Enjoy it!
聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com