来源:li_myheart 发布时间:2018-11-21 15:05:28 阅读量:1299
ftp服务器的本质还是利用socket编程来实现,只不过遵循特定的协议RFC959
开源的库pyftpdlib,可以轻松实现
安装pip install pyftpdlib,使用pycharm
#coding:utf-8
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
#新建一个用户组
authorizer = DummyAuthorizer()
#将用户名,密码,指定目录,权限 添加到里面
authorizer.add_user("visitor", "123456", "D:/", perm="elr")#adfmw
# 这个是添加匿名用户,任何人都可以访问,如果去掉的话,需要输入用户名和密码,可以自己尝试
# authorizer.add_anonymous("D:/")
handler = FTPHandler
handler.authorizer = authorizer
#开启服务器
# 因为我用自己电脑自测所以写的127.0.0.1,写成本机ip只要在同一个局域网下都可以访问
server = FTPServer(("127.0.0.1", 10086), handler)
server.serve_forever()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
代码跑起来效果
F:\code\utopia\Scripts\python.exe F:/code/utopia/demo/test.py
[I 2018-09-28 21:26:22] >>> starting FTP server on 127.0.0.1:10086, pid=12368 <<<
[I 2018-09-28 21:26:22] concurrency model: async
[I 2018-09-28 21:26:22] masquerade (NAT) address: None
[I 2018-09-28 21:26:22] passive ports: None
1
2
3
4
5
1
2
3
4
5
通过浏览器以ftp://ip:port形式访问
输入设置的账号和密码即可获得共享资料
也可以设置添加匿名用户,不需要账号和密码都可以访问
---------------------