導航:首頁 > 編程語言 > pythoncgi搭建

pythoncgi搭建

發布時間:2022-09-21 16:59:40

A. 如何創建和使用python CGI腳本

你是否想使用Python語言創建一個網頁,或者處理用戶從web表單輸入的數據?這些任務可以通過Python CGI(公用網關介面)腳本以及一個Apache web伺服器實現。當用戶請求一個指定URL或者和網頁交互(比如點擊」」提交」按鈕)的時候,CGI腳本就會被web伺服器啟用。CGI腳本調用執行完畢後,它的輸出結果就會被web伺服器用來創建顯示給用戶的網頁。

配置Apache web伺服器,讓其能運行CGI腳本
在這個教程里,我們假設Apache web伺服器已經安裝好,並已運行。這篇教程使用的Apache web伺服器(版本2.2.15,用於CentOS發行版6.5)運行在本地主機(127.0.0.1),並且監聽80埠,如下面的Apache指令指定一樣:

1
2

ServerName 127.0.0.1:80
Listen 80

下面舉例中的HTML文件存放在web伺服器上的/var/www/html目錄下,並通過DocumentRoot指令指定(指定網頁文件所在目錄):

1

DocumentRoot "/var/www/html"

現在嘗試請求URL:
這將返回web伺服器中下面文件的內容:

1

/var/www/html/page1.html

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

1

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

以上指令表明CGI腳本保存在web伺服器的/var/www/cgi-bin目錄,請求URL里包含/cgi-bin/的將會搜索這個目錄下的CGI腳本。
我們必須還要明確CGI腳本在/var/www/cgi-bin目錄下有執行許可權,還要指定CGI腳本的文件擴展名。使用下面的指令:

1
2

Options +ExecCGI
AddHandler cgi-script .py

下面訪問URL:
這將會調用web伺服器中下面所示腳本:

1

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

創建一個CGI腳本
在創建一個Python CGI腳本之前,你需要確認你已經安裝了Python(這通常是默認安裝的,但是安裝版本可能會有所不同)。本篇教程使用的腳本是使用Python版本2.6.6編寫的。你可以通過下面任意一命令(-V和–version參數將顯示所安裝Python的版本號)檢查Python的版本。

Shell

1
2

$ python -V
$ python --version

如果你的Python CGI腳本要用來處理用戶輸入的數據(從一個web輸入表單),那麼你將需要導入Python cgi模塊。這個模塊可以處理用戶通過web輸入表單輸入的數據。你可以在你的腳本中通過下面的語句導入該腳本:

Shell

1

import cgi

你也必須修改Python CGI腳本的執行許可權,以防止web伺服器不能調用。可以通過下面的命令增加執行許可權:

Shell

1

# chmod o+x myscript-1.py

Python CGI例子
涉及到Python CGI腳本的兩個方案將會在下面講述:
使用Python腳本創建一個網頁
讀取並顯示用戶輸入的數據,並且在網頁上顯示結果
注意:Python cgi模塊在方案2中是必需的,因為這涉及到用戶從web表單輸入數據。
例子1 :使用Python腳本創建一個網頁
對於這個方案,我們將通過創建包含一個單一提交按鈕的網頁/var/www/html/page1.html開始。

XHTML

1
2
3
4
5
6

<html>
<h1>Test Page 1</h1>
<form name="input" action="/cgi-bin/myscript-1.py" method="get">
<input type="submit" value="Submit">
</form>
</html>

當」提交」按鈕被點擊,/var/www/cgi-bin/myscript-1.py腳本將被調用(通過action參數指定)。通過設置方法參數為」get」來指定一個」GET」請求,伺服器將會返回指定的網頁。/var/www/html/page1.html在瀏覽器中的顯示情況如下:

/var/www/cgi-bin/myscript-1.py的內容如下:

1
2
3
4
5
6
7

#!/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命令運行的Python腳本。」Content-Type: text/html」列印語句是必需的,這是為了讓web伺服器知道接受自CGI腳本的輸出類型。其餘的語句用來輸出HTML格式的其餘網頁內容。
當」Submit」按鈕點擊,下面的網頁將返回:

這個例子的要點是你可以決定哪些信息可以被CGI腳本返回。這可能包括日誌文件的內容,當前登陸用戶的列表,或者今天的日期。在你處理時擁有所有python庫的可能性是無窮無盡的。
例子2:讀取並顯示用戶輸入的數據,並將結果顯示在網頁上
對於這個方案,我們將通過創建一個含有三個輸入域和一個提交按鈕的網頁/var/www/html/page2.html開始。

XHTML

1
2
3
4
5
6
7
8
9

<html>
<h1>Test Page 2</h1>
<form name="input" action="/cgi-bin/myscript-2.py" method="get">
First Name: <input type="text" name="firstName"><br>
Last Name: <input type="text" name="lastName"><br>
Position: <input type="text" name="position"><br>
<input type="submit" value="Submit">
</form>
</html>

當」Submit」按鈕點擊,/var/www/cgi-bin/myscript-2.py腳本將被執行(通過action參數指定)。/var/www//html/page2.html顯示在web瀏覽器中的圖片如下所示(注意,三個輸入域已經被填寫好了):

/var/www/cgi-bin/myscript-2.py的內容如下:

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#!/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語句用來確保能夠處理用戶通過web輸入表單輸入的數據。web輸入表單被封裝在一個表單對象中,叫做cgi.FieldStorage對象。一旦開始輸出,」Content-Type: text/html」是必需的,因為web伺服器需要知道接受自CGI腳本的輸出格式。用戶輸入的數據在包含form[「firstName」].value,form[「lastName」].value,和 form[「position」].value的語句中可以得到。那些中括弧中的名稱和/var/www/html/page2.html文本輸入域中定義的名稱參數一致。
當網頁上的」Submit」按鈕被點擊,下面的網頁將被返回。

這個例子的要點就是你可以很容易地讀取並顯示用戶在web表單上輸入的數據。除了以字元串的方式處理數據,你也可以用Python將用戶輸入的數據轉化為可用於數值計算的數字。
結論
本教程演示了如何使用Python CGI腳本創建網頁並處理用戶在網頁表單輸入的數據。查閱更多關於Apache CGI腳本的信息,點擊這里。查閱更多關於Python cgi模塊的信息,點擊這里。

B. 如何配置python cgi環境

把CGIHTTPServer的路徑添加到path環境變數中去。

C. 如何創建和使用Python CGI腳本

你是否想使用Python語言創建一個網頁,或者處理用戶從web表單輸入的數據?這些任務可以通過Python CGI(公用網關介面)腳本以及一個Apache web伺服器實現。當用戶請求一個指定URL或者和網頁交互(比如點擊」」提交」按鈕)的時候,CGI腳本就會被web伺服器啟用。CGI腳本調用執行完畢後,它的輸出結果就會被web伺服器用來創建顯示給用戶的網頁。配置Apache web伺服器,讓其能運行CGI腳本在這個教程里,我們假設Apache web伺服器已經安裝好,並已運行。這篇教程使用的Apache web伺服器(版本2.2.15,用於CentOS發行版6.5)運行在本地主機(127.0.0.1),並且監聽80埠,如下面的Apache指令指定一樣:12ServerName 127.0.0.1:80Listen 80下面舉例中的HTML文件存放在web伺服器上的/var/www/html目錄下,並通過DocumentRoot指令指定(指定網頁文件所在目錄):1DocumentRoot "/var/www/html"現在嘗試請求URL:這將返回web伺服器中下面文件的內容:1/var/www/html/page1.html為了啟用CGI腳本,我們必須指定CGI腳本在web伺服器上的位置,需要用到ScriptAlias指令:1ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"以上指令表明CGI腳本保存在web伺服器的/var/www/cgi-bin目錄,請求URL里包含/cgi-bin/的將會搜索這個目錄下的CGI腳本。我們必須還要明確CGI腳本在/var/www/cgi-bin目錄下有執行許可權,還要指定CGI腳本的文件擴展名。使用下面的指令:12Options +ExecCGIAddHandler cgi-script .py下面訪問URL:這將會調用web伺服器中下面所示腳本:1/var/www/cgi-bin/myscript-1.py創建一個CGI腳本在創建一個Python CGI腳本之前,你需要確認你已經安裝了Python(這通常是默認安裝的,但是安裝版本可能會有所不同)。本篇教程使用的腳本是使用Python版本2.6.6編寫的。你可以通過下面任意一命令(-V和–version參數將顯示所安裝Python的版本號)檢查Python的版本。Shell12$ python -V$ python --version如果你的Python CGI腳本要用來處理用戶輸入的數據(從一個web輸入表單),那麼你將需要導入Python cgi模塊。這個模塊可以處理用戶通過web輸入表單輸入的數據。你可以在你的腳本中通過下面的語句導入該腳本:Shell1import cgi你也必須修改Python CGI腳本的執行許可權,以防止web伺服器不能調用。可以通過下面的命令增加執行許可權:Shell1# chmod o+x myscript-1.pyPython CGI例子涉及到Python CGI腳本的兩個方案將會在下面講述:使用Python腳本創建一個網頁讀取並顯示用戶輸入的數據,並且在網頁上顯示結果注意:Python cgi模塊在方案2中是必需的,因為這涉及到用戶從web表單輸入數據。例子1 :使用Python腳本創建一個網頁對於這個方案,我們將通過創建包含一個單一提交按鈕的網頁/var/www/html/page1.html開始。XHTML123456Test Page 1當」提交」按鈕被點擊,/var/www/cgi-bin/myscript-1.py腳本將被調用(通過action參數指定)。通過設置方法參數為」get」來指定一個」GET」請求,伺服器將會返回指定的網頁。/var/www/html/page1.html在瀏覽器中的顯示情況如下:/var/www/cgi-bin/myscript-1.py的內容如下:1234567#!/usr/bin/pythonprint "Content-Type: text/html"print ""print ""print "CGI Script Output"print "This page was generated by a Python CGI script."print ""第一行聲明表示這是使用 /usr/bin/python命令運行的Python腳本。」Content-Type: text/html」列印語句是必需的,這是為了讓web伺服器知道接受自CGI腳本的輸出類型。其餘的語句用來輸出HTML格式的其餘網頁內容。當」Submit」按鈕點擊,下面的網頁將返回:這個例子的要點是你可以決定哪些信息可以被CGI腳本返回。這可能包括日誌文件的內容,當前登陸用戶的列表,或者今天的日期。在你處理時擁有所有python庫的可能性是無窮無盡的。例子2:讀取並顯示用戶輸入的數據,並將結果顯示在網頁上對於這個方案,我們將通過創建一個含有三個輸入域和一個提交按鈕的網頁/var/www/html/page2.html開始。XHTML123456789Test Page 2當」Submit」按鈕點擊,/var/www/cgi-bin/myscript-2.py腳本將被執行(通過action參數指定)。/var/www//html/page2.html顯示在web瀏覽器中的圖片如下所示(注意,三個輸入域已經被填寫好了):/var/www/cgi-bin/myscript-2.py的內容如下:Python1234567891011121314#!/usr/bin/pythonimport cgiform = 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語句用來確保能夠處理用戶通過web輸入表單輸入的數據。web輸入表單被封裝在一個表單對象中,叫做cgi.FieldStorage對象。一旦開始輸出,」Content-Type: text/html」是必需的,因為web伺服器需要知道接受自CGI腳本的輸出格式。用戶輸入的數據在包含form[「firstName」].value,form[「lastName」].value,和 form[「position」].value的語句中可以得到。那些中括弧中的名稱和/var/www/html/page2.html文本輸入域中定義的名稱參數一致。當網頁上的」Submit」按鈕被點擊,下面的網頁將被返回。這個例子的要點就是你可以很容易地讀取並顯示用戶在web表單上輸入的數據。除了以字元串的方式處理數據,你也可以用Python將用戶輸入的數據轉化為可用於數值計算的數字。結論本教程演示了如何使用Python CGI腳本創建網頁並處理用戶在網頁表單輸入的數據。查閱更多關於Apache CGI腳本的信息,點擊這里。查閱更多關於Python cgi模塊的信息,點擊這里。如何創建和使用Python CGI腳本

D. 如何創建和使用Python CGI腳本

假設apache
web伺服器已經安裝好,並已運行。這篇教程使用的apache
web伺服器(版本2.2.15,用於centos發行版6.5)運行在本地主機(127.0.0.1),並且監聽80埠,如下面的apache指令指定一樣:
servername127.0.0.1:80
listen80!

E. python怎麼運行cgi程序

如果是python2.X的話,可以使用modpython進行python的web編程。如果升級到python3.X的話,則可以使用wsgi。因為modpython不支持python3

在這里介紹使用cgi進行python的web編程,然後通過簡單的例子進行示範。

使用php編程的童鞋都知道,apache在運行php程序之前需要對apache進行配置。同樣,使用python也需要配置。

python的apache配置基本上四個步驟:

1、打開http.conf,找到 #ScriptInterpreterSource Registry,把前面的#去掉。如果沒有找到這句話,則自行添加。

2、找到AddHandler
cgi-script,去掉前面的#,在後面加上.py
3、找到Options Indexes FollowSymLinks,在其後加上ExecCGI, 去掉 Indexes
4、保存,重啟apache。

之後就可以進行python的編程了,編輯 p.py:

[python] view plain print?
#!D:\\software\python\python.exe
#encoding:gb2312
#import cgi, cgitb
print("Content-type:text/html\r\n\r\n")
print("<html>")
print("<head><title>Hello,python</title></head>")
a="100";
print("<body><h1>hello, i am " )
print(a)
print("</h1></body>")
print("</html>")

然後在瀏覽器中輸入: 127.0.0.1/p.py,就可以看到輸出了:
hello, i am 100

F. 如何創建和使用Python CGI腳本

配置Apache web伺服器,讓其能運行CGI腳本

在這個教程里,我們假設Apache web伺服器已經安裝好,並已運行。這篇教程使用的Apache web伺服器(版本2.2.15,用於CentOS發行版6.5)運行在本地主機(127.0.0.1),並且監聽80埠,如下面的Apache指令指定一樣:

ServerName127.0.0.1:80

Listen80

下面舉例中的HTML文件存放在web伺服器上的/var/www/html目錄下,並通過DocumentRoot指令指定(指定網頁文件所在目錄):

DocumentRoot"/var/www/html"

現在嘗試請求URL:http://localhost/page1.html

這將返回web伺服器中下面文件的內容:

/var/www/html/page1.html

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

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

以上指令表明CGI腳本保存在web伺服器的/var/www/cgi-bin目錄,請求URL里包含/cgi-bin/的將會搜索這個目錄下的CGI腳本。

我們必須還要明確CGI腳本在/var/www/cgi-bin目錄下有執行許可權,還要指定CGI腳本的文件擴展名。使用下面的指令:

<Directory"/var/www/cgi-bin">

Options +ExecCGI

AddHandler cgi-script .py

</Directory>

下面訪問URL:http://localhost/cgi-bin/myscript-1.py

這將會調用web伺服器中下面所示腳本:

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

創建一個CGI腳本

在創建一個Python
CGI腳本之前,你需要確認你已經安裝了Python(這通常是默認安裝的,但是安裝版本可能會有所不同)。本篇教程使用的腳本是使用Python版本2.6.6編寫的。你可以通過下面任意一命令(-V和--version參數將顯示所安裝Python的版本號)檢查Python的版本。

$ python -V

$ python --version

如果你的Python CGI腳本要用來處理用戶輸入的數據(從一個web輸入表單),那麼你將需要導入Python cgi模塊。這個模塊可以處理用戶通過web輸入表單輸入的數據。你可以在你的腳本中通過下面的語句導入該腳本:

import cgi

你也必須修改Python CGI腳本的執行許可權,以防止web伺服器不能調用。可以通過下面的命令增加執行許可權:

# chmod o+x myscript-1.py

Python CGI例子

涉及到Python CGI腳本的兩個方案將會在下面講述:

使用Python腳本創建一個網頁

讀取並顯示用戶輸入的數據,並且在網頁上顯示結果

注意:Python cgi模塊在方案2中是必需的,因為這涉及到用戶從web表單輸入數據。

例子1 :使用Python腳本創建一個網頁

對於這個方案,我們將通過創建包含一個單一提交按鈕的網頁/var/www/html/page1.html開始。

<html>

<h1>Test Page 1</h1>

<formname="input"action="/cgi-bin/myscript-1.py"method="get">

<inputtype="submit"value="Submit">

</form>

</html>

當"提交"按鈕被點擊,/var/www/cgi-bin/myscript-1.py腳本將被調用(通過action參數指定)。通過設置方法參數為"get"來指定一個"GET"請求,伺服器將會返回指定的網頁。/var/www/html/page1.html在瀏覽器中的顯示情況如下:

/var/www/cgi-bin/myscript-1.py的內容如下:

#!/usr/bin/python

print"Content-Type: text/html"

print""

print"<html>"

print"<h2>CGI Script Output</h2>"

print"<p>This page was generated by a Python CGI script.</p>"

print"</html>"

第一行聲明表示這是使用 /usr/bin/python命令運行的Python腳本。"Content-Type: text/html"列印語句是必需的,這是為了讓web伺服器知道接受自CGI腳本的輸出類型。其餘的語句用來輸出HTML格式的其餘網頁內容。

當"Submit"按鈕點擊,下面的網頁將返回:

這個例子的要點是你可以決定哪些信息可以被CGI腳本返回。這可能包括日誌文件的內容,當前登陸用戶的列表,或者今天的日期。在你處理時擁有所有python庫的可能性是無窮無盡的。

例子2:讀取並顯示用戶輸入的數據,並將結果顯示在網頁上

對於這個方案,我們將通過創建一個含有三個輸入域和一個提交按鈕的網頁/var/www/html/page2.html開始。

<html>

<h1>Test Page 2</h1>

<formname="input"action="/cgi-bin/myscript-2.py"method="get">

First Name: <inputtype="text"name="firstName"><br>

Last Name: <inputtype="text"name="lastName"><br>

Position: <inputtype="text"name="position"><br>

<inputtype="submit"value="Submit">

</form>

</html>

當"Submit"按鈕點擊,/var/www/cgi-bin/myscript-2.py腳本將被執行(通過action參數指定)。/var/www//html/page2.html顯示在web瀏覽器中的圖片如下所示(注意,三個輸入域已經被填寫好了):

/var/www/cgi-bin/myscript-2.py的內容如下:

#!/usr/bin/python

import cgi

form = cgi.FieldStorage()

print"Content-Type: text/html"

print""

print"<html>"

print"<h2>CGI Script Output</h2>"

print"<p>"

print"The user entered data are:<br>"

print"<b>First Name:</b> "+ form["firstName"].value +"<br>"

print"<b>Last Name:</b> "+ form["lastName"].value +"<br>"

print"<b>Position:</b> "+ form["position"].value +"<br>"

print"</p>"

print"</html>"

正如前面提到,import
cgi語句用來確保能夠處理用戶通過web輸入表單輸入的數據。web輸入表單被封裝在一個表單對象中,叫做cgi.FieldStorage對象。一旦開始輸出,"Content-Type:

text/html"是必需的,因為web伺服器需要知道接受自CGI腳本的輸出格式。用戶輸入的數據在包含form["firstName"].value,form["lastName"].value,和
form["position"].value的語句中可以得到。那些中括弧中的名稱和/var/www/html/page2.html文本輸入域中定義的名稱參數一致。

當網頁上的"Submit"按鈕被點擊,下面的網頁將被返回。

這個例子的要點就是你可以很容易地讀取並顯示用戶在web表單上輸入的數據。除了以字元串的方式處理數據,你也可以用Python將用戶輸入的數據轉化為可用於數值計算的數字。


G. python3.5裡面怎麼搭建簡單的web伺服器

python3.5裡面怎麼搭建簡單的web伺服器
利用Python自帶的包可以建立簡單的web伺服器。在DOS里cd到准備做伺服器根目錄的路徑下,輸入命令:
python -m Web伺服器模塊 [埠號,默認8000]
例如:
python -m SimpleHTTPServer 8080
然後就可以在瀏覽器中輸入
h ttp://loca lhost:埠號/路徑
來訪問伺服器資源。
例如:
h ttp://local host:808 0/index.h tm(當然index.htm文件得自己創建)
其他機器也可以通過伺服器的IP地址來訪問。
這里的「Web伺服器模塊」有如下三種:
BaseHTTPServer: 提供基本的Web服務和處理器類,分別是HTTPServer和BaseHTTPRequestHandler。
SimpleHTTPServer: 包含執行GET和HEAD請求的SimpleHTTPRequestHandler類。
CGIHTTPServer: 包含處理POST請求和執行CGIHTTPRequestHandler類。

H. 如何用python搭建一個最簡單的Web伺服器

用Python建立最簡單的web伺服器

利用Python自帶的包可以建立簡單的web伺服器。在DOS里cd到准備做伺服器根目錄的路徑下,輸入命令:

閱讀全文

與pythoncgi搭建相關的資料

熱點內容
php備案號 瀏覽:984
php視頻水印 瀏覽:163
怎麼追程序員的女生 瀏覽:483
空調外壓縮機電容 瀏覽:77
怎麼將安卓變成win 瀏覽:457
手機文件管理在哪兒新建文件夾 瀏覽:722
加密ts視頻怎麼合並 瀏覽:773
php如何寫app介面 瀏覽:802
宇宙的琴弦pdf 瀏覽:395
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328
程序員留學移民 瀏覽:52
梁中間部位箍筋加密區 瀏覽:119
頻譜分析pdf 瀏覽:752
樂2怎麼升級安卓70 瀏覽:174
java中獲取日期 瀏覽:508
單片機74hc245 瀏覽:274
美國歷史上的總統pdf 瀏覽:753
程序員脫單實驗室靠不靠譜 瀏覽:460