一、CGI是什麼
CGI的全稱是Common Gateway Interface,也就是通用網關介面。它是連接Web伺服器和CGI腳本(或程序)的介面標準。通過CGI,Web伺服器可以將請求連接到後台程序,並且將程序的輸出返回到客戶端瀏覽器,實現了Dynamically Generating Web Pages的效果。目前,CGI已經被一些新的更優秀的解決方案所替代,但是CGI仍然是編寫互動式Web應用程序的基礎技術。
二、CGI的原理
每個Web伺服器都會規定一個目錄來存放CGI程序,通常是cgi-bin目錄。當Web伺服器接收到一個CGI請求後,它會將所有的CGI環境變數和CGI請求數據轉換成標準輸入流,然後啟動CGI程序,並將標準輸出流傳送給客戶端瀏覽器。
CGI請求的數據可以來自GET或POST方法,還可以使用多種編碼格式。每個CGI程序都會從伺服器接收全部請求數據,解析處理並返回HTML文檔。
三、Python中的CGI
Python的CGI編程可以用來開發動態的web頁面,它具有跨平台特性,可以在多個平台上運行。Python的CGI程序可以通過以下幾個步驟實現:
1. 在Web伺服器上創建一個新目錄,可以訪問CGI程序,通常是cgi-bin目錄。
2. 創建一個Python腳本,在腳本中寫入CGI程序的代碼。同時,設置腳本的執行許可權(Unix/Linux)。
3. 編寫HTML頁面,將其中的表單數據或URL附加數據傳遞給腳本。
4. 在HTML頁面中使用CGI腳本,指定腳本的名稱和位置。CGI程序的位置可以使用相對路徑或絕對路徑。
下面是一個簡單的Python CGI程序實例:
#!/usr/bin/python # -*- coding: UTF-8 -*- # cgi導入必要的模塊 import cgi, cgitb # 創建FieldStorage的實例 form = cgi.FieldStorage() # 獲取提交的表單數據 if form.getvalue('name'): name = form.getvalue('name') else: name = "沒有提交數據" # 設置返回的文檔類型 print "Content-type:text/html" print print "" print "" print "Python CGI程序實例 " print "" print "" print "Hello %s
" % name print "" print ""
四、小結
Python的CGI編程是Web編程的基礎技術之一。雖然目前CGI已經被更優秀的解決方案所替代,但CGI仍然具有其優勢,特別是在一些簡單的Web應用程序中。CGI的原理和Python中的CGI編程都需要掌握,才能更好地開發出更加優秀的Web應用程序。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/257048.html