最近幾天一直在學習python web編程,主要的內容是建立簡單的web伺服器和運用CGI模組建立簡單web頁面(用詞不夠專業盡請諒解)。
python用來搭建http server的模組有以下三種:
1)BaseHTTPServer:提供基本的Web服務和處理器類,分別是HTTPServer及BaseHTTPRequestHandler;
2)SimpleHTTPServer:包含執行GET和HEAD請求的SimpleHTTPRequestHandler類別;
# 3)CGIHTTPServer:包含處理POST請求和執行的CGIHTTPRequestHandler類別。
python 最簡單的網頁伺服器如下圖所示:
如此便可以存取伺服器中的內容
#例如直接存取下面的html頁面,結果如下:
hello.html存放在伺服器根目錄下,程式碼如下:
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> <html><head><title>数据库列表</title></head> <body> <form action="/cgi-bin/hello_get.py" method="get"> First Name: <input type="text" name="first_name"> <br /> Last Name: <input type="text" name="last_name" /> <input type="submit" value="Submit" /> </form> </body></html>
#在hello.html文件裡面連結了一個hello_get.py,該檔案存放於伺服器根目錄下的cgi-bin資料夾下,程式碼如下:
#!/usr/bin/python # Import modules for CGI handling import cgi, cgitb # Create instance of FieldStorage form = cgi.FieldStorage() # Get data from fields first_name = form.getvalue('first_name') last_name = form.getvalue('last_name') print "Content-type:text/html\r\n\r\n" print "<html>" print "<head>" print "<title>Hello - Second CGI Program</title>" print "</head>" print "<body>" print "<h2>Hello %s %s</h2>" % (first_name, last_name) print "</body>" print "</html>"
在上一圖片中頁面中輸入信息,點擊提交,得到結果如下:
#值得注意的是:一開始我做了好久,呼叫py檔案要嘛顯示空白,要嘛出錯。查看了很多網路資源,發現問題是py檔案的權限原因,只需要執行chmod 755 XXX.py即可。另外
#!/usr/bin/python之前最好不要有其他信息,反正我发现上方保护如下信息的时候是显示不出来的
''' Created on 2015-1-12 @author: root '''
我也只是初學者,只能說把我的學習過程分享,避免大家遇到我同樣問題而花費大量時間。
【相關推薦】
2. 分享在IIS上用CGI方式執行Python腳本的實例教學
以上是使用CGI模組建立簡單web頁面教學實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!