來源:li_myheart 發(fā)布時間:2018-11-21 15:05:28 閱讀量:1509
ftp服務(wù)器的本質(zhì)還是利用socket編程來實現(xiàn),只不過遵循特定的協(xié)議RFC959
開源的庫pyftpdlib,可以輕松實現(xiàn)
安裝pip install pyftpdlib,使用pycharm
#coding:utf-8
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
#新建一個用戶組
authorizer = DummyAuthorizer()
#將用戶名,密碼,指定目錄,權(quán)限 添加到里面
authorizer.add_user("visitor", "123456", "D:/", perm="elr")#adfmw
# 這個是添加匿名用戶,任何人都可以訪問,如果去掉的話,需要輸入用戶名和密碼,可以自己嘗試
# authorizer.add_anonymous("D:/")
handler = FTPHandler
handler.authorizer = authorizer
#開啟服務(wù)器
# 因為我用自己電腦自測所以寫的127.0.0.1,寫成本機ip只要在同一個局域網(wǎng)下都可以訪問
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形式訪問
輸入設(shè)置的賬號和密碼即可獲得共享資料
也可以設(shè)置添加匿名用戶,不需要賬號和密碼都可以訪問
---------------------