可以使用 Python 第三方庫中的 pyftpdlib 來快速搭建一個本地局域網 FTP 服務器,只需幾行代碼即可完成,適合臨時文件傳輸、跨設備共享等場景。
一、準備工作
1、安裝第三方庫 pyftpdlib。
pip install pyftpdlib2、準備一個用于共享的本地目錄(如 D:\ftp_root)。
二、最簡版 FTP 服務器(匿名訪問)
from pyftpdlib.servers import FTPServer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.authorizers import DummyAuthorizer
authorizer = DummyAuthorizer()
authorizer.add_anonymous("D:/ftp_root") # 共享目錄路徑(匿名可讀)
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("0.0.0.0", 2121), handler) # 本機所有網卡,端口 2121
print("FTP server running at ftp:// :2121/" )
server.serve_forever()(1)替換 "D:/ftp_root" 為你要共享的文件夾路徑。
(2)局域網內其他設備訪問:在資源管理器窗口的地址欄或 FTP 客戶端輸入 ftp://你的IP:2121/。
例如:
ftp://192.168.1.101:2121/三、帶賬號密碼的 FTP 服務器
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
authorizer = DummyAuthorizer()
authorizer.add_user("user1", "123456", "D:/ftp_root", perm="elradfmw") # 權限全開
# perm 說明:e=更改權限、l=列目錄、r=讀取、a=添加文件、d=刪除、f=重命名、m=創建目錄、w=寫入
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("0.0.0.0", 2121), handler)
print("FTP with login: ftp://user1:123456@ :2121" )
server.serve_forever()◆◆ ◆
補充說明
1、從 2021 年開始,主流瀏覽器出于安全考慮,逐步廢棄了對 FTP 協議的原生支持。
2、默認不支持加密傳輸(FTP over TLS/SSL),適合局域網安全環境。
3、不建議用于公網服務場景。
4、如防火墻或安全軟件攔截,請手動放行端口 2121。
5、如果你想要一個臨時的文件分享方案,這是最簡單、最快捷的方式之一。需要更強大的權限控制或 Web 界面時,可考慮更高級的 FTP 服務器軟件。
“點贊有美意,贊賞是鼓勵”
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.