可以使用 Python 第三方库中的 pyftpdlib 来快速搭建一个本地局域网 FTP 服务器,只需几行代码即可完成,适合临时文件传输、跨设备共享等场景。

一、准备工作

1、安装第三方库 pyftpdlib。

pip install pyftpdlib

2、准备一个用于共享的本地目录(如 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 服务器软件。

点赞有美意,赞赏是鼓励