国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

編寫(xiě)PythonCGI腳本的教程

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 14:41:02
文檔

編寫(xiě)PythonCGI腳本的教程

編寫(xiě)PythonCGI腳本的教程:你是否想使用Python語(yǔ)言創(chuàng)建一個(gè)網(wǎng)頁(yè),或者處理用戶從web表單輸入的數(shù)據(jù)?這些任務(wù)可以通過(guò)Python CGI(公用網(wǎng)關(guān)接口)腳本以及一個(gè)Apache web服務(wù)器實(shí)現(xiàn)。當(dāng)用戶請(qǐng)求一個(gè)指定URL或者和網(wǎng)頁(yè)交互(比如點(diǎn)擊提交按鈕)的時(shí)候,CGI腳本就會(huì)被web服務(wù)器啟用
推薦度:
導(dǎo)讀編寫(xiě)PythonCGI腳本的教程:你是否想使用Python語(yǔ)言創(chuàng)建一個(gè)網(wǎng)頁(yè),或者處理用戶從web表單輸入的數(shù)據(jù)?這些任務(wù)可以通過(guò)Python CGI(公用網(wǎng)關(guān)接口)腳本以及一個(gè)Apache web服務(wù)器實(shí)現(xiàn)。當(dāng)用戶請(qǐng)求一個(gè)指定URL或者和網(wǎng)頁(yè)交互(比如點(diǎn)擊提交按鈕)的時(shí)候,CGI腳本就會(huì)被web服務(wù)器啟用
你是否想使用Python語(yǔ)言創(chuàng)建一個(gè)網(wǎng)頁(yè),或者處理用戶從web表單輸入的數(shù)據(jù)?這些任務(wù)可以通過(guò)Python CGI(公用網(wǎng)關(guān)接口)腳本以及一個(gè)Apache web服務(wù)器實(shí)現(xiàn)。當(dāng)用戶請(qǐng)求一個(gè)指定URL或者和網(wǎng)頁(yè)交互(比如點(diǎn)擊""提交"按鈕)的時(shí)候,CGI腳本就會(huì)被web服務(wù)器啟用。CGI腳本調(diào)用執(zhí)行完畢后,它的輸出結(jié)果就會(huì)被web服務(wù)器用來(lái)創(chuàng)建顯示給用戶的網(wǎng)頁(yè)。
配置Apache web服務(wù)器,讓其能運(yùn)行CGI腳本

在這個(gè)教程里,我們假設(shè)Apache web服務(wù)器已經(jīng)安裝好,并已運(yùn)行。這篇教程使用的Apache web服務(wù)器(版本2.2.15,用于CentOS發(fā)行版6.5)運(yùn)行在本地主機(jī)(127.0.0.1),并且監(jiān)聽(tīng)80端口,如下面的Apache指令指定一樣:

代碼如下:

ServerName 127.0.0.1:80
Listen 80

下面舉例中的HTML文件存放在web服務(wù)器上的/var/www/html目錄下,并通過(guò)DocumentRoot指令指定(指定網(wǎng)頁(yè)文件所在目錄):

代碼如下:

DocumentRoot "/var/www/html"

現(xiàn)在嘗試請(qǐng)求URL:http://localhost/page1.html

這將返回web服務(wù)器中下面文件的內(nèi)容:

代碼如下:

/var/www/html/page1.html

為了啟用CGI腳本,我們必須指定CGI腳本在web服務(wù)器上的位置,需要用到ScriptAlias指令:

代碼如下:

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

以上指令表明CGI腳本保存在web服務(wù)器的/var/www/cgi-bin目錄,請(qǐng)求URL里包含/cgi-bin/的將會(huì)搜索這個(gè)目錄下的CGI腳本。

我們必須還要明確CGI腳本在/var/www/cgi-bin目錄下有執(zhí)行權(quán)限,還要指定CGI腳本的文件擴(kuò)展名。使用下面的指令:

 
 Options +ExecCGI
 AddHandler cgi-script .py
 

下面訪問(wèn)URL:http://localhost/cgi-bin/myscript-1.py

這將會(huì)調(diào)用web服務(wù)器中下面所示腳本:

代碼如下:

/var/www/cgi-bin/myscript-1.py

創(chuàng)建一個(gè)CGI腳本

在創(chuàng)建一個(gè)Python CGI腳本之前,你需要確認(rèn)你已經(jīng)安裝了Python(這通常是默認(rèn)安裝的,但是安裝版本可能會(huì)有所不同)。本篇教程使用的腳本是使用Python版本2.6.6編寫(xiě)的。你可以通過(guò)下面任意一命令(-V和--version參數(shù)將顯示所安裝Python的版本號(hào))檢查Python的版本。

 $ python -V
 $ python --version

如果你的Python CGI腳本要用來(lái)處理用戶輸入的數(shù)據(jù)(從一個(gè)web輸入表單),那么你將需要導(dǎo)入Python cgi模塊。這個(gè)模塊可以處理用戶通過(guò)web輸入表單輸入的數(shù)據(jù)。你可以在你的腳本中通過(guò)下面的語(yǔ)句導(dǎo)入該腳本:

 import cgi

你也必須修改Python CGI腳本的執(zhí)行權(quán)限,以防止web服務(wù)器不能調(diào)用。可以通過(guò)下面的命令增加執(zhí)行權(quán)限:

 # chmod o+x myscript-1.py

Python CGI例子

涉及到Python CGI腳本的兩個(gè)方案將會(huì)在下面講述:

  • 使用Python腳本創(chuàng)建一個(gè)網(wǎng)頁(yè)
  • 讀取并顯示用戶輸入的數(shù)據(jù),并且在網(wǎng)頁(yè)上顯示結(jié)果
  • 注意:Python cgi模塊在方案2中是必需的,因?yàn)檫@涉及到用戶從web表單輸入數(shù)據(jù)。
    例子1 :使用Python腳本創(chuàng)建一個(gè)網(wǎng)頁(yè)

    對(duì)于這個(gè)方案,我們將通過(guò)創(chuàng)建包含一個(gè)單一提交按鈕的網(wǎng)頁(yè)/var/www/html/page1.html開(kāi)始。

     
     

    Test Page 1

    當(dāng)"提交"按鈕被點(diǎn)擊,/var/www/cgi-bin/myscript-1.py腳本將被調(diào)用(通過(guò)action參數(shù)指定)。通過(guò)設(shè)置方法參數(shù)為"get"來(lái)指定一個(gè)"GET"請(qǐng)求,服務(wù)器將會(huì)返回指定的網(wǎng)頁(yè)。/var/www/html/page1.html在瀏覽器中的顯示情況如下:

    2015629110446275.jpg (640×286)

    /var/www/cgi-bin/myscript-1.py的內(nèi)容如下:

     #!/usr/bin/python
     print "Content-Type: text/html"
     print ""
     print ""
     print "

    CGI Script Output

    " print "

    This page was generated by a Python CGI script.

    " print ""

    第一行聲明表示這是使用 /usr/bin/python命令運(yùn)行的Python腳本。"Content-Type: text/html"打印語(yǔ)句是必需的,這是為了讓web服務(wù)器知道接受自CGI腳本的輸出類型。其余的語(yǔ)句用來(lái)輸出HTML格式的其余網(wǎng)頁(yè)內(nèi)容。

    當(dāng)"Submit"按鈕點(diǎn)擊,下面的網(wǎng)頁(yè)將返回:

    2015629111109379.jpg (640×286)

    這個(gè)例子的要點(diǎn)是你可以決定哪些信息可以被CGI腳本返回。這可能包括日志文件的內(nèi)容,當(dāng)前登陸用戶的列表,或者今天的日期。在你處理時(shí)擁有所有python庫(kù)的可能性是無(wú)窮無(wú)盡的。
    例子2:讀取并顯示用戶輸入的數(shù)據(jù),并將結(jié)果顯示在網(wǎng)頁(yè)上

    對(duì)于這個(gè)方案,我們將通過(guò)創(chuàng)建一個(gè)含有三個(gè)輸入域和一個(gè)提交按鈕的網(wǎng)頁(yè)/var/www/html/page2.html開(kāi)始。

     
     

    Test Page 2

    當(dāng)"Submit"按鈕點(diǎn)擊,/var/www/cgi-bin/myscript-2.py腳本將被執(zhí)行(通過(guò)action參數(shù)指定)。/var/www//html/page2.html顯示在web瀏覽器中的圖片如下所示(注意,三個(gè)輸入域已經(jīng)被填寫(xiě)好了):

    2015629111252493.jpg (640×286)

    /var/www/cgi-bin/myscript-2.py的內(nèi)容如下:

     #!/usr/bin/python
     import cgi
     form = cgi.FieldStorage()
     print "Content-Type: text/html"
     print ""
     print ""
     print "

    CGI Script Output

    " print "

    " print "The user entered data are:
    " print "First Name: " + form["firstName"].value + "
    " print "Last Name: " + form["lastName"].value + "
    " print "Position: " + form["position"].value + "
    " print "

    " print ""

    正如前面提到,import cgi語(yǔ)句用來(lái)確保能夠處理用戶通過(guò)web輸入表單輸入的數(shù)據(jù)。web輸入表單被封裝在一個(gè)表單對(duì)象中,叫做cgi.FieldStorage對(duì)象。一旦開(kāi)始輸出,"Content-Type: text/html"是必需的,因?yàn)閣eb服務(wù)器需要知道接受自CGI腳本的輸出格式。用戶輸入的數(shù)據(jù)在包含form["firstName"].value,form["lastName"].value,和 form["position"].value的語(yǔ)句中可以得到。那些中括號(hào)中的名稱和/var/www/html/page2.html文本輸入域中定義的名稱參數(shù)一致。

    當(dāng)網(wǎng)頁(yè)上的"Submit"按鈕被點(diǎn)擊,下面的網(wǎng)頁(yè)將被返回。

    2015629111455279.jpg (640×286)

    這個(gè)例子的要點(diǎn)就是你可以很容易地讀取并顯示用戶在web表單上輸入的數(shù)據(jù)。除了以字符串的方式處理數(shù)據(jù),你也可以用Python將用戶輸入的數(shù)據(jù)轉(zhuǎn)化為可用于數(shù)值計(jì)算的數(shù)字。

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    編寫(xiě)PythonCGI腳本的教程

    編寫(xiě)PythonCGI腳本的教程:你是否想使用Python語(yǔ)言創(chuàng)建一個(gè)網(wǎng)頁(yè),或者處理用戶從web表單輸入的數(shù)據(jù)?這些任務(wù)可以通過(guò)Python CGI(公用網(wǎng)關(guān)接口)腳本以及一個(gè)Apache web服務(wù)器實(shí)現(xiàn)。當(dāng)用戶請(qǐng)求一個(gè)指定URL或者和網(wǎng)頁(yè)交互(比如點(diǎn)擊提交按鈕)的時(shí)候,CGI腳本就會(huì)被web服務(wù)器啟用
    推薦度:
    標(biāo)簽: 教程 腳本 編寫(xiě)
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專題
    Top
    主站蜘蛛池模板: 一边摸一边爽一边叫床免费视频 | 欧美福利在线 | 日韩欧美一区二区三区中文精品 | 97精品国产97久久久久久 | 天堂一区二区三区精品 | 好看的电影网站亚洲一区 | 欧美日韩高清在线观看 | 亚洲国产精品免费在线观看 | 日韩精品一区二区三区毛片 | 亚洲国产成人久久一区www妖精 | 国产aⅴ精品一区二区三区久久 | 国产国拍亚洲精品永久不卡 | 国产成人精品aaaa视频一区 | 久操国产 | 国产日韩一区二区三区在线播放 | 在线播放一区二区三区 | 91久久国产视频 | 一区二区三区在线 | 欧美国产亚洲一区二区三区 | 精品国产欧美一区二区三区成人 | 国产一区二区三区在线 | 在线h片 | 国内一区二区三区精品视频 | 国产毛片一区二区三区 | heyzo在线播放| 欧美日韩国产中文字幕 | 在线视频 日韩 | 亚洲国产精品一区二区三区 | 日韩欧 | 久久精品2 | 国产成人拍精品视频网 | 国产在线观看入口 | 国产亚洲婷婷香蕉久久精品 | 亚洲免费a| 成人无码一区二区片 | 国产一区二区久久久 | 国产色在线视频 | 精品国产一区二区三区在线观看 | 国产成人高清一区二区私人 | 精品国产综合区久久久久99 | 一区二区手机视频 |