熟悉Python的朋友們都知道,python自帶了一個(gè)Simple HTTP Server,可以使用一行代碼完成文件的局域網(wǎng)共享操作。
首先進(jìn)入你需要設(shè)置的http服務(wù)器目錄 (我以自己電腦路徑:F:/Working~Study) ,即進(jìn)入到該目錄下,然后:
- python2: python -m SimpleHTTPServer port
- python3: python -m http.server port
我是用一個(gè)8888的端口啟動(dòng)服務(wù),最終的共享效果,如下圖:
通過一行代碼,我們完成了文件共享的http服務(wù),但這個(gè)服務(wù)有幾個(gè)問題,僅提供了下載功能無法上傳,最重要的是沒有權(quán)限控制功能,這就極其不安全了!該如何解決這個(gè)問題呢?我之前用Flask寫了一個(gè)功能更完善的httpserver:
Ftp服務(wù)器搭建
模塊安裝
python沒有內(nèi)置ftp模塊,但要使用它卻很簡單,我們只需要簡單的通過pip安裝即可:
pip install pyftpdlib
簡單共享
模塊安裝完成后,我們找到需要共享的目錄,然后啟動(dòng)cmd后,輸入:
python -m pyftpdlib -p 21
之后瀏覽器登陸ftp://ip:port,這樣就開啟了一個(gè)最簡單的ftp共享服務(wù)。
首先我們使用瀏覽器登陸看下效果:
之后,我們?cè)谑褂脁ftp工具登陸:
但此時(shí),我們只是通過匿名用戶anonymous,密碼空的方式進(jìn)行訪問,只能使用ftp下載功能,而無法上傳…
高級(jí)使用
簡單的ftp搭建方式,肯定不滿足我們的要求,那么我么就需要進(jìn)行二次開發(fā)了!但也僅僅需要幾行代碼而已:
簡單的ftp搭建方式,肯定不滿足我們的要求,那么我么就需要進(jìn)行二次開發(fā)了!但也僅僅需要幾行代碼而已:
from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer from pyftpdlib.authorizers import DummyAuthorizer authorizer = DummyAuthorizer() authorizer.add_user('python', '123456', 'F:\Working~Study', perm='elradfmwM') handler = FTPHandler handler.authorizer = authorizer server = FTPServer(('0.0.0.0', 8888), handler) server.serve_forever()
不管是windows還是linux服務(wù)器下,你還能想到比python搭建FTP服務(wù)器更簡單的方式嗎?哈哈…