python中http.server內(nèi)置庫構(gòu)建臨時(shí)文件服務(wù)
需要從linux開發(fā)機(jī)上下載一個(gè)文件到本地,約700M比較大,通過sz命令下載較慢且傳輸過程不穩(wěn)定連續(xù)失敗,后采用下面方式解決。
cd到一個(gè)目錄下執(zhí)行python -m http.server port,port為服務(wù)的端口號(hào):

啟動(dòng)后瀏覽器中訪問服務(wù)地址,從這里可以直接查看目錄下所有的文件&下載。

下面是服務(wù)的參數(shù)源碼:

主要參數(shù):
-b綁定服務(wù)監(jiān)聽的ip地址,默認(rèn)值0.0.0.0公網(wǎng)所有ip都可以訪問,127.0.0.1只能本機(jī)訪問,該參數(shù)不用調(diào)整。-d設(shè)置哪個(gè)目錄作為根目錄,默認(rèn)值執(zhí)行命令時(shí)的當(dāng)前所在目錄。port指定端口號(hào),默認(rèn)值8000,指定0會(huì)隨機(jī)分配一個(gè)未使用的端口。
-d參數(shù)在一些較低python版本中可能沒有,上面源碼版本是Python 3.12.2,在Python 3.6.5版本中就沒有這個(gè)參數(shù)。可以通過下面代碼找到服務(wù)的源代碼文件位置,直接查看源代碼確定支不支持該參數(shù)。
import http.server import inspect print(inspect.getfile(http.server)) # 返回 http.server 模塊的文件路徑。
注意
啟動(dòng)服務(wù)后可能仍然訪問不了服務(wù),檢查服務(wù)器端口配置,分配的端口是否對(duì)外可見。
可以通過nc命令測(cè)試:
1.服務(wù)器上指定監(jiān)聽的端口:nc -l -p port。
2.其他機(jī)器上echo 1 | nc ip port,ip為服務(wù)器的ip,可通過hostname -i獲取。
3.查看服務(wù)器是否接收到其他機(jī)器發(fā)送的數(shù)據(jù)。
到此這篇關(guān)于python中http.server內(nèi)置庫構(gòu)建臨時(shí)文件服務(wù)的文章就介紹到這了,更多相關(guān)python http.server構(gòu)建臨時(shí)文件服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python 基于http.server模塊實(shí)現(xiàn)簡(jiǎn)單http服務(wù)的代碼舉例
- Python中的http.server庫用法詳細(xì)介紹
- 通過Python中的http.server搭建文件上傳下載服務(wù)功能
- 使用Python?http.server模塊共享文件的方法詳解
- Python實(shí)現(xiàn)http服務(wù)器(http.server模塊傳參?接收參數(shù))實(shí)例
- python3之http.server模塊用法
- 詳解用python -m http.server搭一個(gè)簡(jiǎn)易的本地局域網(wǎng)
- Python通過命令開啟http.server服務(wù)器的方法
相關(guān)文章
Django中從mysql數(shù)據(jù)庫中獲取數(shù)據(jù)傳到echarts方式
這篇文章主要介紹了Django中從mysql數(shù)據(jù)庫中獲取數(shù)據(jù)傳到echarts方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04
python socket網(wǎng)絡(luò)編程之粘包問題詳解
這篇文章主要介紹了python socket網(wǎng)絡(luò)編程之粘包問題詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
利用python對(duì)mysql表做全局模糊搜索并分頁實(shí)例
這篇文章主要介紹了利用python對(duì)mysql表做全局模糊搜索并分頁實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Python調(diào)用jar包方法實(shí)現(xiàn)過程解析
這篇文章主要介紹了Python調(diào)用jar包方法實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
web自動(dòng)化測(cè)試Selenium點(diǎn)擊元素的常用方法
在Web自動(dòng)化測(cè)試中,Selenium提供多種點(diǎn)擊方法,常用的click()方法通過選中元素并觸發(fā)點(diǎn)擊事件,若click()方法不穩(wěn)定,可以采用JavaScript執(zhí)行點(diǎn)擊或使用ActionChains類模擬鼠標(biāo)點(diǎn)擊,需要的朋友可以參考下2024-09-09

