SimpleHTTPServer
SimpleHTTPServer是Python自帶的一個(gè)HTTP服務(wù)類,通過使用它,我們能夠在任意平臺(tái)(Window,Linux,MacOS)快速搭建一個(gè)HTTP服務(wù)和共享服務(wù),只需要安裝Python環(huán)境即可
如何使用
如果你想開啟一個(gè)運(yùn)行在特定端口上的文件共享服務(wù),可以執(zhí)行如下命令
python -m SimpleHTTPServer [port]
這將會(huì)把當(dāng)前目錄下的文件和目錄顯示出來,如果我們不指定端口,默認(rèn)為8000
當(dāng)然上述命令也開啟了一個(gè)HTTP服務(wù),假設(shè)當(dāng)前運(yùn)行目錄下由一個(gè)文件test,那么我們可以這樣請(qǐng)求
curl "http://localhost:8000/test" -v
請(qǐng)求結(jié)果為test里面的內(nèi)容
用途
軟件開發(fā)過程都是多人協(xié)作的,當(dāng)我們?cè)陂_發(fā)項(xiàng)目依賴于其他人的HTTP接口的時(shí)候,我們可以使用SimpleHTTPServer來對(duì)依賴的接口進(jìn)行mock,這樣能夠加快聯(lián)調(diào)的速度,及早的調(diào)試出程序的問題。一般我們的文件中使用json串來模擬結(jié)果
不足
python系統(tǒng)自帶的SimpleHTTPServer只支持GET和HEAD方法,不支持POST方法(測(cè)試環(huán)境為python 2.7.10),需要進(jìn)行簡(jiǎn)單的修改
#部分源碼def do_GET(self): """Serve a GET request.""" f = self.send_head() if f: try: self.copyfile(f, self.wfile) finally: f.close()def do_HEAD(self): """Serve a HEAD request.""" f = self.send_head() if f: f.close()
我們可以將SimpeHTTPServer方法復(fù)制一份,然后在里面實(shí)現(xiàn)do_POST方法即可
def do_POST(self): """Serve a POST request.""" self.do_GET()
將文件保存后運(yùn)行,即可支持POST方式請(qǐng)求
以上這篇使用Python快速搭建HTTP服務(wù)和文件共享服務(wù)的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選