麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Python > 正文

Python Web程序搭建簡單的Web服務器

2024-09-09 19:02:56
字體:
來源:轉載
供稿:網友

上一篇講了《Python入門》Windows 7下Python Web開發環境搭建筆記,接下來講一下Python語言Web服務的具體實現:第一個Python Web程序――簡單的Web服務器。

與其它Web后端語言不同,Python語言需要自己編寫Web服務器。

如果你使用一些現有的框架的話,可以省略這一步;

如果你使用Python CGI編程的話,也可以省略這一步;

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

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

python -m Web服務器模塊 [端口號,默認8000]

例如:

python -m SimpleHTTPServer 8080

然后就可以在瀏覽器中輸入

http://localhost:端口號/路徑

來訪問服務器資源。 

例如:

http://localhost:8080/index.htm(當然index.htm文件得自己創建)

其他機器也可以通過服務器的IP地址來訪問。

這里的“Web服務器模塊”有如下三種:

BaseHTTPServer: 提供基本的Web服務和處理器類,分別是HTTPServer和BaseHTTPRequestHandler。

SimpleHTTPServer: 包含執行GET和HEAD請求的SimpleHTTPRequestHandler類。

CGIHTTPServer: 包含處理POST請求和執行CGIHTTPRequestHandler類。

自定義處理程序

Google在http://chart.apis.google.com 上提供了一個將表單數據自動轉換為圖表的服務。不過,該服務很難交互, 因為你需要將數據作為查詢放到URL中。此程序為一種數據格式提供了更好的的接口: 給定一小段文本,它將調用圖表服務器來生成二維碼(QR碼),這是一種編碼文本的點格矩陣。 該圖像可被你的手機攝像頭捕獲,并解釋為一個字符串,比如URL, 這樣就免去了你在狹小的手機鍵盤上鍵入URL的麻煩。

以下為完整的程序:

import os	#Python的標準庫中的os模塊包含普遍的操作系統功能import re	#引入正則表達式對象import urllib	#用于對URL進行編解碼from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler #導入HTTP處理相關的模塊  #自定義處理程序,用于處理HTTP請求class TestHTTPHandler(BaseHTTPRequestHandler):	#處理GET請求  def do_GET(self):		#頁面輸出模板字符串    templateStr = ''' <html> <head> <title>QR Link Generator</title> </head> <body> %s<br> <br> <form action="/qr" name=f method="GET"><input maxLength=1024 size=70 name=s value="" title="Text to QR Encode"><input type=submit value="Show QR" name=qr> </form></body> </html> '''  	# 將正則表達式編譯成Pattern對象	pattern = re.compile(r'/qr/?s=([^/&]+)/&qr=Show/+QR')	# 使用Pattern匹配文本,獲得匹配結果,無法匹配時將返回None	match = pattern.match(self.path)	qrImg = ''			if match:		# 使用Match獲得分組信息		qrImg = '<img src="http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=UTF-8&chl=' + match.group(1) + '" /><br />' + urllib.unquote(match.group(1))  	self.protocal_version = 'HTTP/1.1'	#設置協議版本	self.send_response(200)	#設置響應狀態碼	self.send_header("Welcome", "Contect")	#設置響應頭	self.end_headers()	self.wfile.write(templateStr % qrImg)	#輸出響應內容	#啟動服務函數def start_server(port):  http_server = HTTPServer(('', int(port)), TestHTTPHandler)  http_server.serve_forever()	#設置一直監聽并接收請求 os.chdir('static')	#改變工作目錄到 static 目錄start_server(8000)	#啟動服務,監聽8000端口
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品aⅴ | 亚洲 综合 欧美 动漫 丝袜图 | 在线观看国产免费视频 | 黄色一级电影网 | 久久久久一区 | 美女视频黄视大全视频免费网址 | 亚洲网站免费看 | 欧洲精品久久久久69精品 | 久久一本日日摸夜夜添 | 日韩一级片毛片 | 欧美精品黄色 | 亚洲一区二区中文 | 久久99精品久久久久久秒播蜜臀 | 九九热免费视频在线观看 | 成人在线观看免费观看 | 久久久久久久不卡 | 国产亚洲精品久久久久久网站 | 视频一区二区三区免费观看 | 久久激情小视频 | 日韩不卡一区二区 | 精品国产一区二区三区久久久蜜 | 日本黄色大片免费观看 | 久久精品视频亚洲 | 午夜视频福利 | 九九热在线视频观看 | 一级电影在线观看 | 强伦女教师视频 | 爱射av | 久久99精品国产 | 国产免费看片 | 蜜桃av网| chinese xxxxhd videos麻豆| 亚洲精品久久久久久久久久 | 99re色| 黄片毛片一级 | 7777在线视频免费播放 | 久久精片 | 99国产精品自拍 | 久久9999久久 | 夜夜夜精品视频 | 久久午夜免费视频 |