可以使用 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 服务器软件。
“点赞有美意,赞赏是鼓励”
热门跟贴