python開發ftp伺服器(pyftpdlib)
阿新 • • 發佈:2019-02-12
轉載自https://blog.csdn.net/qiye_/article/details/50771195
今天想在實驗室搭建一個ftp伺服器,用來分享一些資料,於是就想到了利用python來進行開發。
ftp伺服器的本質還是利用socket程式設計來實現,只不過遵循特定的協議而已,我查了一下協議是RFC959。
當然為了不重複造輪子,先看看有沒有開源的lib,百度一下找到了pyftpdlib這個庫,查看了一下這個庫,發現程式碼量並不大,之後的部落格打算進行原始碼分析。
不過現在當然是快速的使用。
首先當然是安裝pyftpdlib,學過python的肯定知道使用 pip install pyftpdlib來安裝。然後看了一些這個庫的說明文件,就可以寫程式碼了,也就15行左右。
我使用的工具是pycharm,下面把程式碼附在下面有詳細的註釋。
- #coding:utf-8
- from pyftpdlib.authorizers import DummyAuthorizer
- from pyftpdlib.handlers import FTPHandler
- from pyftpdlib.servers import FTPServer
- #新建一個使用者組
- authorizer = DummyAuthorizer()
- #將使用者名稱,密碼,指定目錄,許可權 新增到裡面
- authorizer.add_user("fan", "root", "D:/", perm="elr")#adfmw
- #這個是新增匿名使用者,任何人都可以訪問,如果去掉的話,需要輸入使用者名稱和密碼,可以自己嘗試
- authorizer.add_anonymous("D:/")
- handler = FTPHandler
- handler.authorizer = authorizer
- #開啟伺服器
- server = FTPServer(("127.0.0.1", 21), handler)
- server.serve_forever()