最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python創(chuàng)建簡單的HTTP服務(wù)器的方法步驟

 更新時間:2019年04月26日 11:27:08   投稿:zx  
這篇文章主要介紹了使用Python創(chuàng)建簡單的HTTP服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

如果需要一個簡單的Web Server,而不是安裝那些復(fù)雜的HTTP服務(wù)程序,比如:Apache,Nginx等。那么可以使用Python自帶的包完成一個簡單的內(nèi)建 HTTP 服務(wù)器。于是,你可以把你的目錄和文件都以HTTP的方式展示出來。

基本命令

python -m Web服務(wù)器模塊 [端口號,默認(rèn)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進(jìn)行訪問。其他機(jī)器也可以通過服務(wù)器的IP地址來訪問服務(wù)器資源。

如果當(dāng)前文件夾有index.html文件,會默認(rèn)顯示該文件,否則,會以文件列表的形式顯示目錄下所有文件。這樣已經(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ù)器

看到這里,默認(rèn)你已經(jīng)安裝了Python,不過你還需要安裝另外一個好用的工具。你知道,當(dāng)需要找Chrome插件的時候,會去Google的WebStore;當(dāng)需要找Firefox應(yīng)用的時候,會去Mozilla的Add-ons;當(dāng)你需要找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端口依然是可選的,不填會隨機(jī)一個,被占用的端口將跳過。在瀏覽器敲入本機(jī)地址:
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是指定端口,當(dāng)然也可以隨機(jī),還有最大連接數(shù)max_cons,每個ip最大連接限制,更多的接口建議直接看docstrings。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何在Flask中進(jìn)行異常處理實例解析

    如何在Flask中進(jìn)行異常處理實例解析

    這篇文章主要為大家介紹了如何在Flask中進(jìn)行異常處理實例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • python實現(xiàn)視頻分幀效果

    python實現(xiàn)視頻分幀效果

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)視頻分幀效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • python Gunicorn服務(wù)器使用方法詳解

    python Gunicorn服務(wù)器使用方法詳解

    這篇文章主要介紹了python Gunicorn服務(wù)器使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python使用qrcode二維碼庫生成二維碼方法詳解

    Python使用qrcode二維碼庫生成二維碼方法詳解

    這篇文章主要介紹了Python使用qrcode二維碼庫生成二維碼方法詳解,需要的朋友可以參考下
    2020-02-02
  • python實現(xiàn)數(shù)據(jù)寫入excel表格

    python實現(xiàn)數(shù)據(jù)寫入excel表格

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)數(shù)據(jù)寫入excel表格,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python的簡單web框架flask快速實現(xiàn)詳解

    python的簡單web框架flask快速實現(xiàn)詳解

    這篇文章主要為大家介紹了python的簡單web框架flask快速實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • python利用xlsxwriter模塊 操作 Excel

    python利用xlsxwriter模塊 操作 Excel

    這篇文章主要介紹了python利用xlsxwriter模塊 操作 Excel,幫助大家更好的利用python處理表格,提高辦公效率,感興趣的朋友可以了解下
    2020-10-10
  • Pytest自定義用例執(zhí)行順序(推薦)

    Pytest自定義用例執(zhí)行順序(推薦)

    github 上有個 pytest-ordering 插件可以控制用例的執(zhí)行順序,本文給大家介紹了Pytest自定義用例執(zhí)行順序,需要的朋友可以參考下
    2021-12-12
  • python xlsxwriter模塊的使用

    python xlsxwriter模塊的使用

    這篇文章主要介紹了python xlsxwriter模塊的使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python中requests庫的學(xué)習(xí)方法詳解

    Python中requests庫的學(xué)習(xí)方法詳解

    這篇文章主要為大家詳細(xì)介紹了Python中requests庫的學(xué)習(xí)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02

最新評論

奉化市| 恩平市| 噶尔县| 兴化市| 新绛县| 河间市| 新密市| 徐水县| 上高县| 阿克| 百色市| 穆棱市| 大姚县| 勃利县| 洪江市| 三江| 开封市| 宜州市| 肃南| 兴安盟| 湖北省| 鄂州市| 兰考县| 确山县| 罗山县| 定陶县| 贵州省| 兴业县| 凌源市| 淳化县| 蓝山县| 天镇县| 柳河县| 花莲市| 龙南县| 虎林市| 铅山县| 龙井市| 习水县| 平顺县| 河池市|