一、CGI腳本簡介
CGI是「通用網關接口」(Common Gateway Interface)的縮寫,它是Web服務器和應用程序或腳本之間的接口標準。它可以讓服務器接受來自Web瀏覽器的請求,根據請求中傳遞的參數啟動腳本。CGI是HTTP服務器在接收到請求之後,將請求交給CGI程序進行處理,CGI程序將處理結果反饋給HTTP服務器,最終HTTP服務器再將結果返回給瀏覽器。
CGI腳本一般使用Perl或者Shell腳本等編寫,這裡我們介紹使用Python編寫CGI。
二、編寫一個簡單的CGI腳本
以下是一個簡單的CGI腳本,用於顯示當前時間:
#!/usr/bin/python3
import time
print("Content-type:text/html")
print()
print("")
print("")
print("Current Time ")
print("")
print("")
print("Current Time
")
print("Current time is %s.
" % time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
print("")
print("")
在服務器上部署這個腳本,並將其命名為showtime.cgi
。運行該腳本會在瀏覽器窗口中顯示如下內容:
Current Time
Current time is 2022-03-20 20:00:00.
我們可以看出,這個CGI腳本通過HTTP服務器接收到請求後,生成一個HTML頁面,然後將這個HTML頁面返回給瀏覽器。
三、與HTML結合使用的CGI腳本
CGI腳本可以用來在Web應用程序中獲取數據、顯示數據、數據驗證和處理表單等。下面以一個簡單的例子來說明如何在表格中獲取用戶輸入並且將其輸出:
#!/usr/bin/python3
import cgi
print("Content-type:text/html")
print()
print("")
print("")
print("CGI Example ")
print("")
print("")
print("CGI Example
")
print("")
print("Enter your name:
")
print("")
print("")
formdata = cgi.FieldStorage()
if formdata.getvalue('name'):
name = formdata.getvalue('name')
print("Your name is: %s
" % name)
print("")
print("")
在這個CGI腳本中,我們在表單中添加了一個「文本框」,並在CGI腳本中獲取該文本框中填寫的內容,然後將它輸出到瀏覽器窗口中。
在服務器上部署這個腳本,並將其命名為cgi_example.py
。運行該腳本會在瀏覽器窗口中顯示如下內容:
CGI Example
Enter your name:
[Submit button]
當用戶輸入一個名字並且點擊提交時,CGI腳本會接收到請求,並返回一個包含用戶輸入的HTML文件。在這裡,我們將用戶輸入的名字輸出到瀏覽器窗口中。
四、結語
Python的CGI模塊可以方便的編寫出與HTML結合的腳本程序。CGI腳本對於網頁交互來說是一個非常重要的工具。在這篇文章中,我們介紹了如何編寫一個簡單的CGI腳本和一個與HTML結合的CGI腳本。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/244311.html