標籤:for _for urllib odi version 標準庫 latest 對象 文本
python2.x web入門程式
#!/usr/bin/python# -*- coding: UTF-8 -*-# 只在python2.x 有效import os #Python的標準庫中的os模組包含普遍的作業系統功能import re #引入Regex對象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> ‘‘‘# 將Regex編譯成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連接埠
python web入門程式