新聞詳情
python教程——CGI編程發(fā)表時間:2023-05-24 17:33 什么是CGI CGI 目前由NCSA維護(hù),NCSA定義CGI如下: CGI(Common Gateway Interface),通用網(wǎng)關(guān)接口,它是一段程序,運行在服務(wù)器上如:HTTP服務(wù)器,提供同客戶端HTML頁面的接口。 網(wǎng)頁瀏覽 為了更好的了解CGI是如何工作的,我們可以從在網(wǎng)頁上點擊一個鏈接或URL的流程: 1、使用你的瀏覽器訪問URL并連接到HTTP web 服務(wù)器。 2、Web服務(wù)器接收到請求信息后會解析URL,并查找訪問的文件在服務(wù)器上是否存在,如果存在返回文件的內(nèi)容,否則返回錯誤信息。 3、瀏覽器從服務(wù)器上接收信息,并顯示接收的文件或者錯誤信息。 CGI程序可以是Python腳本,PERL腳本,SHELL腳本,C或者C++程序等。 CGI架構(gòu)圖 cgiarch Web服務(wù)器支持及配置 在你進(jìn)行CGI編程前,確保您的Web服務(wù)器支持CGI及已經(jīng)配置了CGI的處理程序。 Apache 支持CGI 配置: 設(shè)置好CGI目錄: ScriptAlias /cgi-bin/ /var/www/cgi-bin/ 所有的HTTP服務(wù)器執(zhí)行CGI程序都保存在一個預(yù)先配置的目錄。這個目錄被稱為CGI目錄,并按照慣例,它被命名為/var/www/cgi-bin目錄。 CGI文件的擴(kuò)展名為.cgi,python也可以使用.py擴(kuò)展名。 默認(rèn)情況下,Linux服務(wù)器配置運行的cgi-bin目錄中為/var/www。 如果你想指定其他運行CGI腳本的目錄,可以修改httpd.conf配置文件,如下所示: <Directory "/var/www/cgi-bin"> AllowOverride None Options +ExecCGI Order allow,deny Allow from all </Directory> 在 AddHandler 中添加 .py 后綴,這樣我們就可以訪問 .py 結(jié)尾的 python 腳本文件: AddHandler cgi-script .cgi .pl .py 第一個CGI程序 我們使用Python創(chuàng)建第一個CGI程序,文件名為hello.py,文件位于/var/www/cgi-bin目錄中,內(nèi)容如下: 實例 #!/usr/bin/python3 print ("Content-type:text/html") print () # 空行,告訴服務(wù)器結(jié)束頭部 print ('<html>') print ('<head>') print ('<meta charset="utf-8">') print ('<title>Hello Word - 我的第一個 CGI 程序!</title>') print ('</head>') print ('<body>') print ('<h2>Hello Word! 我是來自菜鳥教程的第一CGI程序</h2>') print ('</body>') print ('</html>') 文件保存后修改 hello.py,修改文件權(quán)限為 755: chmod 755 hello.py |