使用Python快速搭建HTTP服務(wù)和文件共享服務(wù)的實(shí)例講解
SimpleHTTPServer
SimpleHTTPServer是Python自帶的一個(gè)HTTP服務(wù)類,通過(guò)使用它,我們能夠在任意平臺(tái)(Window,Linux,MacOS)快速搭建一個(gè)HTTP服務(wù)和共享服務(wù),只需要安裝Python環(huán)境即可
如何使用
如果你想開啟一個(gè)運(yùn)行在特定端口上的文件共享服務(wù),可以執(zhí)行如下命令
python -m SimpleHTTPServer [port]
這將會(huì)把當(dāng)前目錄下的文件和目錄顯示出來(lái),如果我們不指定端口,默認(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ā)過(guò)程都是多人協(xié)作的,當(dāng)我們?cè)陂_發(fā)項(xiàng)目依賴于其他人的HTTP接口的時(shí)候,我們可以使用SimpleHTTPServer來(lái)對(duì)依賴的接口進(jìn)行mock,這樣能夠加快聯(lián)調(diào)的速度,及早的調(diào)試出程序的問(wèn)題。一般我們的文件中使用json串來(lái)模擬結(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è)參考,也希望大家多多支持腳本之家。
- 使用python快速在局域網(wǎng)內(nèi)搭建http傳輸文件服務(wù)的方法
- python通過(guò)http下載文件的方法詳解
- python 搭建簡(jiǎn)單的http server,可直接post文件的實(shí)例
- Python HTTP服務(wù)搭建顯示本地文件
- Python實(shí)現(xiàn)基于HTTP文件傳輸實(shí)例
- 使用nodejs、Python寫的一個(gè)簡(jiǎn)易HTTP靜態(tài)文件服務(wù)器
- Python實(shí)現(xiàn)HTTP協(xié)議下的文件下載方法總結(jié)
- Python如何實(shí)現(xiàn)自帶HTTP文件傳輸服務(wù)
相關(guān)文章
numpy.std() 計(jì)算矩陣標(biāo)準(zhǔn)差的方法
今天小編就為大家分享一篇numpy.std() 計(jì)算矩陣標(biāo)準(zhǔn)差的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07python求加權(quán)平均值的實(shí)例(附純python寫法)
今天小編就為大家分享一篇python求加權(quán)平均值的實(shí)例(附純python寫法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08運(yùn)用PyTorch動(dòng)手搭建一個(gè)共享單車預(yù)測(cè)器
這篇文章主要介紹了運(yùn)用PyTorch動(dòng)手搭建一個(gè)共享單車預(yù)測(cè)器,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08python利用Excel讀取和存儲(chǔ)測(cè)試數(shù)據(jù)完成接口自動(dòng)化教程
這篇文章主要介紹了python利用Excel讀取和存儲(chǔ)測(cè)試數(shù)據(jù)完成接口自動(dòng)化教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Python中循環(huán)引用(import)失敗的解決方法
在python中常常會(huì)遇到循環(huán)import即circular import的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Python中循環(huán)引用(import)失敗的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04Python實(shí)現(xiàn)將內(nèi)容寫入文件的五種方法總結(jié)
本篇帶你詳細(xì)看一下python將內(nèi)容寫入文件的方法以及細(xì)節(jié),主要包括write()方法、writelines()?方法、print()?函數(shù)、使用?csv?模塊、使用?json?模塊,需要的可以參考一下2023-04-04用python實(shí)現(xiàn)刷點(diǎn)擊率的示例代碼
今天小編就為大家分享一篇用python實(shí)現(xiàn)刷點(diǎn)擊率的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02python利用Opencv實(shí)現(xiàn)人臉識(shí)別功能
這篇文章主要為大家詳細(xì)介紹了python利用Opencv實(shí)現(xiàn)人臉識(shí)別功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04