欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統(tǒng) 2041 0

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

基本命令

python -m Web服務器模塊 [端口號,默認8000]

這里的“Web服務器模塊”有如下三種:

BaseHTTPServer: 提供基本的Web服務和處理器類,分別是HTTPServer和BaseHTTPRequestHandler。

SimpleHTTPServer: 包含執(zhí)行GET和HEAD請求的SimpleHTTPRequestHandler類。

CGIHTTPServer: 包含處理POST請求和執(zhí)行CGIHTTPRequestHandler類。

啟動web服務器

對于Python2,簡單搭建Web服務器,只需在需要搭建Web服務器的目錄(如 /home/pythontab/)下,輸入如下命令:

python -m SimpleHTTPServer 8080
使用 8080端口的創(chuàng)建Web服務器

對于Python3,其創(chuàng)建Web服務器的等價命令,如下:

            
python3 -m http.server 8080
          

瀏覽web頁面

可以在瀏覽器中輸入 http://127.0.0.1:8080 或 將 http://localhost:8080進行訪問。其他機器也可以通過服務器的IP地址來訪問服務器資源。

如果當前文件夾有index.html文件,會默認顯示該文件,否則,會以文件列表的形式顯示目錄下所有文件。這樣已經實現(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服務器

看到這里,默認你已經安裝了Python,不過你還需要安裝另外一個好用的工具。你知道,當需要找Chrome插件的時候,會去Google的WebStore;當需要找Firefox應用的時候,會去Mozilla的Add-ons;當你需要找Python組件的時候,你需要pip:A tool for installing and managing Python packages,安裝方法就不介紹了。

Python沒有內置一個直接可以用的FTP服務器,所以需要第三方組件的支持,我找到的這個組件叫pyftpdlib,首先安裝:

            
pip install pyftpdlib
          

安裝完后,和HTTP服器類似,執(zhí)行以下命令就可以啟動一個FTP服務器了:

            
python -m pyftpdlib -p 21
          

后面的21端口依然是可選的,不填會隨機一個,被占用的端口將跳過。在瀏覽器敲入本機地址:
ftp://localhost:21

這時候,是匿名訪問,也就是用戶名是anonymous,密碼為空,如果想要控制訪問權限,你需要自己定制服務器,具體的可以參看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()
          

只看代碼應該基本知道該怎么用了,add_user顯然是添加用戶,2121是指定端口,當然也可以隨機,還有最大連接數(shù)max_cons,每個ip最大連接限制,更多的接口建議直接看docstrings。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久精品视频18 | 99视频有精品视频高清 | 日本中文字幕免费 | 欧美精品aaa久久久影院 | 精久久久 | 色客成人网 | 中文字幕国产一区 | 国产精品1区2区 | 久久综合九色综合国产 | 骚视频在线观看 | 91操美女| 看中国毛片 | 一区二区福利视频 | 免费在线观看视频a | 精品国产不卡一区二区三区 | 亚洲一区二区中文字幕 | 精品国产一区二区三区久久久蜜月 | 日日夜夜天天人人 | www.久久久 | 开心伊人| 奇米奇米777 | 日本在线综合 | avtt国产 | 国产精品久久久久久久久久 | 欧美成人精品欧美一级乱黄 | 欧美在线亚洲 | 91色在线| 国产一区二区精品在线 | 国产精品国产三级国产aⅴ无密码 | 国产视频在线免费观看 | 天天操天天射天天爽 | 亚洲一级毛片免费看 | 天天摸天天爽视频69视频 | 国产成人免费全部网站 | 日产国产欧美视频一区精品 | 免费观看性欧美大片无片 | 国产五月色婷婷六月丁香视频 | 精品在线一区二区三区 | 噜噜噜噜精品视频在线观看 | 成人区视频爽爽爽爽爽 | 一级黄色播放 |