這篇文章主要介紹了怎么使用Python創(chuàng)建簡單的HTTP服務(wù)器,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)是一家專業(yè)提供吳忠企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、html5、小程序制作等業(yè)務(wù)。10年已為吳忠眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。1、云計算,典型應(yīng)用OpenStack。2、WEB前端開發(fā),眾多大型網(wǎng)站均為Python開發(fā)。3.人工智能應(yīng)用,基于大數(shù)據(jù)分析和深度學(xué)習(xí)而發(fā)展出來的人工智能本質(zhì)上已經(jīng)無法離開python。4、系統(tǒng)運維工程項目,自動化運維的標配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數(shù)據(jù)分析。
基本命令
python -m Web服務(wù)器模塊 [端口號,默認8000]
這里的“Web服務(wù)器模塊”有如下三種:
BaseHTTPServer: 提供基本的Web服務(wù)和處理器類,分別是HTTPServer和BaseHTTPRequestHandler。
SimpleHTTPServer: 包含執(zhí)行GET和HEAD請求的SimpleHTTPRequestHandler類。
CGIHTTPServer: 包含處理POST請求和執(zhí)行CGIHTTPRequestHandler類。
啟動web服務(wù)器
對于Python2,簡單搭建Web服務(wù)器,只需在需要搭建Web服務(wù)器的目錄(如 /home/pythontab/)下,輸入如下命令:
python -m SimpleHTTPServer 8080
使用 8080端口的創(chuàng)建Web服務(wù)器
對于Python3,其創(chuàng)建Web服務(wù)器的等價命令,如下:
python3 -m http.server 8080
瀏覽web頁面
可以在瀏覽器中輸入 http://127.0.0.1:8080 或 將 http://localhost:8080進行訪問。其他機器也可以通過服務(wù)器的IP地址來訪問服務(wù)器資源。
如果當前文件夾有index.html文件,會默認顯示該文件,否則,會以文件列表的形式顯示目錄下所有文件。這樣已經(jīng)實現(xiàn)了最基本的文件分享的目的,你可以做成一個腳本,再建立一個快捷方式,就可以很方便的啟動文件分享了。如果有更多需求,完全可以根據(jù)自己需要定制,具體的請參見官方文檔SimpleHTTPServer,或者直接看源碼。我拷貝一段,方便參考:
import SimpleHTTPServer import SocketServer PORT = 8000 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler httpd = SocketServer.TCPServer(("", PORT), Handler) print "serving at port", PORT httpd.serve_forever()
Python版FTP服務(wù)器
看到這里,默認你已經(jīng)安裝了Python,不過你還需要安裝另外一個好用的工具。你知道,當需要找Chrome插件的時候,會去Google的WebStore;當需要找Firefox應(yīng)用的時候,會去Mozilla的Add-ons;當你需要找Python組件的時候,你需要pip:A tool for installing and managing Python packages,安裝方法就不介紹了。
Python沒有內(nèi)置一個直接可以用的FTP服務(wù)器,所以需要第三方組件的支持,我找到的這個組件叫pyftpdlib,首先安裝:
pip install pyftpdlib
安裝完后,和HTTP服器類似,執(zhí)行以下命令就可以啟動一個FTP服務(wù)器了:
python -m pyftpdlib -p 21
后面的21端口依然是可選的,不填會隨機一個,被占用的端口將跳過。在瀏覽器敲入本機地址:
ftp://localhost:21
這時候,是匿名訪問,也就是用戶名是anonymous,密碼為空,如果想要控制訪問權(quán)限,你需要自己定制服務(wù)器,具體的可以參看pyftpdlib Tutorial,我這里拷貝過來一段作為介紹:
from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer def main(): # Instantiate a dummy authorizer for managing 'virtual' users authorizer = DummyAuthorizer() # Define a new user having full r/w permissions and a read-only # anonymous user authorizer.add_user('user', '12345', '.', perm='elradfmwM') authorizer.add_anonymous(os.getcwd()) # Instantiate FTP handler class handler = FTPHandler handler.authorizer = authorizer # Define a customized banner (string returned when client connects) handler.banner = "pyftpdlib based ftpd ready." # Specify a masquerade address and the range of ports to use for # passive connections. Decomment in case you're behind a NAT. #handler.masquerade_address = '151.25.42.11' #handler.passive_ports = range(60000, 65535) # Instantiate FTP server class and listen on 0.0.0.0:2121 address = ('', 2121) server = FTPServer(address, handler) # set a limit for connections server.max_cons = 256 server.max_cons_per_ip = 5 # start ftp server server.serve_forever() if __name__ == '__main__': main()
只看代碼應(yīng)該基本知道該怎么用了,add_user顯然是添加用戶,2121是指定端口,當然也可以隨機,還有大連接數(shù)max_cons,每個ip大連接限制,更多的接口建議直接看docstrings。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么使用Python創(chuàng)建簡單的HTTP服務(wù)器”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章名稱:怎么使用Python創(chuàng)建簡單的HTTP服務(wù)器-創(chuàng)新互聯(lián)
文章鏈接:http://www.rwnh.cn/article14/ccghde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、定制網(wǎng)站、網(wǎng)站策劃、小程序開發(fā)、ChatGPT、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容