來(lái)源:li_myheart 發(fā)布時(shí)間:2018-11-21 15:05:28 閱讀量:1298
ftp服務(wù)器的本質(zhì)還是利用socket編程來(lái)實(shí)現(xiàn),只不過(guò)遵循特定的協(xié)議RFC959
開(kāi)源的庫(kù)pyftpdlib,可以輕松實(shí)現(xiàn)
安裝pip install pyftpdlib,使用pycharm
#coding:utf-8
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
#新建一個(gè)用戶組
authorizer = DummyAuthorizer()
#將用戶名,密碼,指定目錄,權(quán)限 添加到里面
authorizer.add_user("visitor", "123456", "D:/", perm="elr")#adfmw
# 這個(gè)是添加匿名用戶,任何人都可以訪問(wèn),如果去掉的話,需要輸入用戶名和密碼,可以自己嘗試
# authorizer.add_anonymous("D:/")
handler = FTPHandler
handler.authorizer = authorizer
#開(kāi)啟服務(wù)器
# 因?yàn)槲矣米约弘娔X自測(cè)所以寫的127.0.0.1,寫成本機(jī)ip只要在同一個(gè)局域網(wǎng)下都可以訪問(wèn)
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
代碼跑起來(lái)效果
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
通過(guò)瀏覽器以ftp://ip:port形式訪問(wèn)
輸入設(shè)置的賬號(hào)和密碼即可獲得共享資料
也可以設(shè)置添加匿名用戶,不需要賬號(hào)和密碼都可以訪問(wèn)
---------------------
在線
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線溝通:
客服
熱線
7*24小時(shí)客服服務(wù)熱線
關(guān)注
微信
關(guān)注官方微信