今天就跟大家聊聊有關(guān)使用Python怎么實(shí)現(xiàn)一個(gè)HTTP 和FTP服務(wù)器,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
目前創(chuàng)新互聯(lián)建站已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、會(huì)寧網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。有時(shí)你需臨時(shí)搭建一個(gè)簡(jiǎn)單的 Web Server
,但你又不想去安裝 Apache
、Nginx
等這類功能較復(fù)雜的 HTTP
服務(wù)程序時(shí)。這時(shí)可以使用 Python
內(nèi)建的 SimpleHTTPServer
模塊快速搭建一個(gè)簡(jiǎn)單的 HTTP
服務(wù)器。
SimpleHTTPServer
模塊可以把你指定目錄中的文件和文件夾以一個(gè)簡(jiǎn)單的 Web
頁(yè)面的方式展示出來(lái)。假設(shè)我們需要以 Web
方式共享目錄 /Users/Mike/Docker
,只需要以下這個(gè)命令行就可以輕松實(shí)現(xiàn):
$ cd /Users/Mike/Docker $ python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ...
SimpleHTTPServer
模塊默認(rèn)會(huì)在 8000 端口上監(jiān)聽(tīng)一個(gè) HTTP
服務(wù),這時(shí)就可以打開(kāi)瀏覽器輸入 http://IP:Port
訪問(wèn)這個(gè) Web
頁(yè)面。例如類似下面的 URL:
http://192.168.100.49:8000
如果你需要 Web
服務(wù)有一個(gè)默認(rèn)頁(yè),可以在目錄下創(chuàng)建一個(gè)名為 index.html 的文件。如果沒(méi)有默認(rèn)頁(yè),那么會(huì)以列表的形式將目錄中的內(nèi)容顯示出來(lái)。
如果默認(rèn)的 8000 端口已經(jīng)被占用,你想換成使用其它端口號(hào),可以使用如下的命令:
$ python -m SimpleHTTPServer 8080
用 Python 快速實(shí)現(xiàn) FTP 服務(wù)器
有時(shí)當(dāng)你想快速搭建一個(gè) FTP
服務(wù)器來(lái)臨時(shí)實(shí)現(xiàn)文件上傳下載時(shí),這是特別有用的。我們這里利用 Python
的 Pyftpdlib
模塊可以快速的實(shí)現(xiàn)一個(gè) FTP
服務(wù)器的功能。
首先安裝 Pyftpdlib
模塊
$ sudo pip install pyftpdlib
通過(guò) Python
的 -m
選項(xiàng)將 Pyftpdlib
模塊作為一個(gè)簡(jiǎn)單的獨(dú)立服務(wù)器來(lái)運(yùn)行,假設(shè)我們需要共享目錄 /Users/Mike/Docker
,只需要以下這個(gè)命令行就可以輕松實(shí)現(xiàn):
$ cd /Users/Mike/Docker $ python -m pyftpdlib [I 2018-01-02 16:24:02] >>> starting FTP server on :::2121, pid=7517 <<< [I 2018-01-02 16:24:02] concurrency model: async [I 2018-01-02 16:24:02] masquerade (NAT) address: None [I 2018-01-02 16:24:02] passive ports: None
至此一個(gè)簡(jiǎn)單的 FTP
服務(wù)器已經(jīng)搭建完成,訪問(wèn) ftp://IP:PORT
即可。例如類似下面的 URL:
ftp://192.168.100.49:2121
默認(rèn) IP 為本機(jī)所有可用 IP,端口為 2121。
默認(rèn)登陸方式為匿名。
默認(rèn)權(quán)限是只讀
如果你要建一個(gè)有認(rèn)證且可寫(xiě)的 FTP
服務(wù)器,可使用類似以下指令:
$ python -m pyftpdlib -i 192.168.100.49 -w -d /tmp/ -u mike -P 123456
小插曲:測(cè)試時(shí)一直使用密碼 000000
這樣的弱密碼做認(rèn)證密碼,在客戶端登陸時(shí)一直提示認(rèn)證失敗。看來(lái) Pyftpdlib
模塊還做了基本的安全策略喲,不錯(cuò)的!
常用可選參數(shù)說(shuō)明:
-i 指定IP地址(默認(rèn)為本機(jī)所有可用 IP 地址) -p 指定端口(默認(rèn)為 2121) -w 寫(xiě)權(quán)限(默認(rèn)為只讀) -d 指定目錄 (默認(rèn)為當(dāng)前目錄) -u 指定登錄用戶名 -P 指定登錄密碼
更多參數(shù)可以使用以下指令查詢:
$ python -m pyftpdlib --help Usage: python -m pyftpdlib [options] Start a stand alone anonymous FTP server. Options: -h, --help show this help message and exit -i ADDRESS, --interface=ADDRESS specify the interface to run on (default all interfaces) -p PORT, --port=PORT specify port number to run on (default 2121) -w, --write grants write access for logged in user (default read-only) -d FOLDER, --directory=FOLDER specify the directory to share (default current directory) -n ADDRESS, --nat-address=ADDRESS the NAT address to use for passive connections -r FROM-TO, --range=FROM-TO the range of TCP ports to use for passive connections (e.g. -r 8000-9000) -D, --debug enable DEBUG logging evel -v, --version print pyftpdlib version and exit -V, --verbose activate a more verbose logging -u USERNAME, --username=USERNAME specify username to login with (anonymous login will be disabled and password required if supplied) -P PASSWORD, --password=PASSWORD specify a password to login with (username required to be useful)
如果你需卸載 Pyftpdlib
模塊,可以通過(guò)以下命令:
$ pip uninstall pyftpdlib
看完上述內(nèi)容,你們對(duì)使用Python怎么實(shí)現(xiàn)一個(gè)HTTP 和FTP服務(wù)器有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站題目:使用Python怎么實(shí)現(xiàn)一個(gè)HTTP和FTP服務(wù)器-創(chuàng)新互聯(lián)
URL地址:http://jinyejixie.com/article48/csojhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、標(biāo)簽優(yōu)化、網(wǎng)站維護(hù)、面包屑導(dǎo)航、微信小程序、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)