亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python Web程序搭建簡(jiǎn)單的Web服務(wù)器

系統(tǒng) 1926 0

上一篇講了《Python入門》Windows 7下Python Web開(kāi)發(fā)環(huán)境搭建筆記,接下來(lái)講一下Python語(yǔ)言Web服務(wù)的具體實(shí)現(xiàn):第一個(gè)Python Web程序――簡(jiǎn)單的Web服務(wù)器。

與其它Web后端語(yǔ)言不同,Python語(yǔ)言需要自己編寫Web服務(wù)器。

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

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

用Python建立最簡(jiǎn)單的web服務(wù)器

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

python -m Web服務(wù)器模塊 [端口號(hào),默認(rèn)8000]

例如:

            
python -m SimpleHTTPServer 8080
          

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

http://localhost:端口號(hào)/路徑

來(lái)訪問(wèn)服務(wù)器資源。?

例如:

http://localhost:8080/index.htm(當(dāng)然index.htm文件得自己創(chuàng)建)

其他機(jī)器也可以通過(guò)服務(wù)器的IP地址來(lái)訪問(wèn)。

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

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

SimpleHTTPServer: 包含執(zhí)行GET和HEAD請(qǐng)求的SimpleHTTPRequestHandler類。

CGIHTTPServer: 包含處理POST請(qǐng)求和執(zhí)行CGIHTTPRequestHandler類。

自定義處理程序

Google在http://chart.apis.google.com?上提供了一個(gè)將表單數(shù)據(jù)自動(dòng)轉(zhuǎn)換為圖表的服務(wù)。不過(guò),該服務(wù)很難交互, 因?yàn)槟阈枰獙?shù)據(jù)作為查詢放到URL中。此程序?yàn)橐环N數(shù)據(jù)格式提供了更好的的接口: 給定一小段文本,它將調(diào)用圖表服務(wù)器來(lái)生成二維碼(QR碼),這是一種編碼文本的點(diǎn)格矩陣。 該圖像可被你的手機(jī)攝像頭捕獲,并解釋為一個(gè)字符串,比如URL, 這樣就免去了你在狹小的手機(jī)鍵盤上鍵入U(xiǎn)RL的麻煩。

以下為完整的程序:

            
import os	#Python的標(biāo)準(zhǔn)庫(kù)中的os模塊包含普遍的操作系統(tǒng)功能
import re	#引入正則表達(dá)式對(duì)象
import urllib	#用于對(duì)URL進(jìn)行編解碼
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler #導(dǎo)入HTTP處理相關(guān)的模塊
 
 
#自定義處理程序,用于處理HTTP請(qǐng)求
class TestHTTPHandler(BaseHTTPRequestHandler):
	#處理GET請(qǐng)求
  def do_GET(self):
		#頁(yè)面輸出模板字符串
    templateStr = ''' 
 
 

            
              QR Link Generator
            
             
 
 
%s

            

''' # 將正則表達(dá)式編譯成Pattern對(duì)象 pattern = re.compile(r'/qr\?s=([^\&]+)\&qr=Show\+QR') # 使用Pattern匹配文本,獲得匹配結(jié)果,無(wú)法匹配時(shí)將返回None match = pattern.match(self.path) qrImg = '' if match: # 使用Match獲得分組信息 qrImg = '
' + urllib.unquote(match.group(1)) self.protocal_version = 'HTTP/1.1' #設(shè)置協(xié)議版本 self.send_response(200) #設(shè)置響應(yīng)狀態(tài)碼 self.send_header("Welcome", "Contect") #設(shè)置響應(yīng)頭 self.end_headers() self.wfile.write(templateStr % qrImg) #輸出響應(yīng)內(nèi)容 #啟動(dòng)服務(wù)函數(shù) def start_server(port): http_server = HTTPServer(('', int(port)), TestHTTPHandler) http_server.serve_forever() #設(shè)置一直監(jiān)聽(tīng)并接收請(qǐng)求 os.chdir('static') #改變工作目錄到 static 目錄 start_server(8000) #啟動(dòng)服務(wù),監(jiān)聽(tīng)8000端口

運(yùn)行訪問(wèn)

我這里將上面上代碼保存為:C:\Python\webserver\server1.py,使用UTF-8編碼;

打開(kāi)命令行,切換到?C:\Python\webserver\ 目錄,

執(zhí)行:python server1.py

Python Web程序搭建簡(jiǎn)單的Web服務(wù)器_第1張圖片

可能會(huì)彈出防火墻警告,點(diǎn)擊允許訪問(wèn)。

Python Web程序搭建簡(jiǎn)單的Web服務(wù)器_第2張圖片

在瀏覽器中訪問(wèn),查看效果,打開(kāi)瀏覽器,輸入:http://localhost:8000/,結(jié)果如下圖:

在文本框中輸入一個(gè)URL,如(http://blog.csdn.net/testcs_dn),點(diǎn)擊Show QR,會(huì)生成一張二維碼的圖片

Python Web程序搭建簡(jiǎn)單的Web服務(wù)器_第3張圖片

掃一掃這張二維碼看看吧

Python Web程序搭建簡(jiǎn)單的Web服務(wù)器_第4張圖片

小結(jié)

與其它Web后端語(yǔ)言不同,Python語(yǔ)言需要自己編寫Web服務(wù)器;

但與Go語(yǔ)言相比,Python稍微有些難以上手。

這里只是編寫運(yùn)行一個(gè)簡(jiǎn)單的例子,看看效果找找感覺(jué)。

雖然Python的大名已經(jīng)知道很久,但最近才真正的接觸,文中有不對(duì)的地方,有更好的方法還請(qǐng)前輩們多多指教!

2017-12-12更新

此示例的代碼在 Eclipse+pydev 環(huán)境中打開(kāi)存在縮進(jìn)問(wèn)題,需要 大家注意:

Python Web程序搭建簡(jiǎn)單的Web服務(wù)器_第5張圖片

需要調(diào)了一下格式 ? 就把下圖紅框中的代碼整體后移了一下:

Python Web程序搭建簡(jiǎn)單的Web服務(wù)器_第6張圖片

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。。?/p>

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 337p日本大胆欧美人术艺术6 | 日本一级毛片视频网站 | 五月天堂婷婷 | 欧美日韩有码 | 福利视频网站 | 久久天天躁狠狠躁夜夜2020一 | 成人一级免费视频 | 五月婷婷久久综合 | 日韩中文字幕在线亚洲一区 | 91在线免费看 | 亚洲精品一区二区三区网址 | 亚洲国产精品久久久久网站 | 在线色资源 | 日本高中生一级乇片 | 午夜免费福利网站 | 老司机午夜精品视频你懂的 | 久久er热这里只有精品免费 | 日本三级不卡 | 凹凸精品视频分类国产品免费 | 成人免费小视频 | 色人阁综合 | 天天视频国产精品 | 成人亚洲视频 | 亚洲精品国产高清不卡在线 | 亚洲视频国产视频 | 一级不卡毛片免费 | 国产精品99r8在线观看 | 日本一二三区免费 | 久久这里只有精品23 | 四虎在线播放 | 欧美亚洲国产成人综合在线 | 欧美日韩视频在线播放 | 99热最新网站 | 五月婷婷激情综合网 | 精品亚洲性xxx久久久 | 久久精品视频久久 | 亚洲一区二区精品 | 色大18成网站www在线观看 | 精品视频在线观看一区二区三区 | 不卡视频在线观看 | 51国产午夜精品免费视频 |