使用Python快速搭建HTTP服務(wù)和文件共享服務(wù)的實例講解
SimpleHTTPServer
SimpleHTTPServer是Python自帶的一個HTTP服務(wù)類,通過使用它,我們能夠在任意平臺(Window,Linux,MacOS)快速搭建一個HTTP服務(wù)和共享服務(wù),只需要安裝Python環(huán)境即可
如何使用
如果你想開啟一個運行在特定端口上的文件共享服務(wù),可以執(zhí)行如下命令
python -m SimpleHTTPServer [port]
這將會把當(dāng)前目錄下的文件和目錄顯示出來,如果我們不指定端口,默認(rèn)為8000
當(dāng)然上述命令也開啟了一個HTTP服務(wù),假設(shè)當(dāng)前運行目錄下由一個文件test,那么我們可以這樣請求
curl "http://localhost:8000/test" -v
請求結(jié)果為test里面的內(nèi)容
用途
軟件開發(fā)過程都是多人協(xié)作的,當(dāng)我們在開發(fā)項目依賴于其他人的HTTP接口的時候,我們可以使用SimpleHTTPServer來對依賴的接口進行mock,這樣能夠加快聯(lián)調(diào)的速度,及早的調(diào)試出程序的問題。一般我們的文件中使用json串來模擬結(jié)果
不足
python系統(tǒng)自帶的SimpleHTTPServer只支持GET和HEAD方法,不支持POST方法(測試環(huán)境為python 2.7.10),需要進行簡單的修改
#部分源碼 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ù)制一份,然后在里面實現(xiàn)do_POST方法即可
def do_POST(self): """Serve a POST request.""" self.do_GET()
將文件保存后運行,即可支持POST方式請求

以上這篇使用Python快速搭建HTTP服務(wù)和文件共享服務(wù)的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用itchat模塊實現(xiàn)群聊轉(zhuǎn)發(fā),自動回復(fù)功能示例
這篇文章主要介紹了Python使用itchat模塊實現(xiàn)群聊轉(zhuǎn)發(fā),自動回復(fù)功能,結(jié)合實例形式分析了Python基于itchat模塊針對微信信息的發(fā)送、回復(fù)等相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
python 讀寫csv文件方式(創(chuàng)建,追加,覆蓋)
這篇文章主要介紹了python 讀寫csv文件方式(創(chuàng)建,追加,覆蓋),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
python3利用Socket實現(xiàn)通信的方法示例
這篇文章主要介紹了python3利用Socket實現(xiàn)通信的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
在 Jupyter 中重新導(dǎo)入特定的 Python 文件(場景分析)
Jupyter 是數(shù)據(jù)分析領(lǐng)域非常有名的開發(fā)環(huán)境,使用 Jupyter 寫數(shù)據(jù)分析相關(guān)的代碼會大大節(jié)約開發(fā)時間。這篇文章主要介紹了在 Jupyter 中如何重新導(dǎo)入特定的 Python 文件,需要的朋友可以參考下2019-10-10
Selenium+Python 自動化操控登錄界面實例(有簡單驗證碼圖片校驗)
今天小編就為大家分享一篇Selenium+Python 自動化操控登錄界面實例(有簡單驗證碼圖片校驗),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python?列表中的刪除操作之del、remove?和?pop?的區(qū)別
在Python中,列表(list)是一種非常靈活的數(shù)據(jù)結(jié)構(gòu),它允許我們存儲一系列的元素,在刪除元素時,我們可以使用三種不同的方法:del、remove?和?pop,每種方法都有其特定的用途和行為,了解它們的區(qū)別可以幫助我們更有效地使用列表,感興趣的朋友跟隨小編一起看看吧2024-05-05

