1. 程式人生 > >python開發ftp伺服器(pyftpdlib)

python開發ftp伺服器(pyftpdlib)

轉載自https://blog.csdn.net/qiye_/article/details/50771195

今天想在實驗室搭建一個ftp伺服器,用來分享一些資料,於是就想到了利用python來進行開發。

ftp伺服器的本質還是利用socket程式設計來實現,只不過遵循特定的協議而已,我查了一下協議是RFC959

當然為了不重複造輪子,先看看有沒有開源的lib,百度一下找到了pyftpdlib這個庫,查看了一下這個庫,發現程式碼量並不大,之後的部落格打算進行原始碼分析。

不過現在當然是快速的使用。

  首先當然是安裝pyftpdlib,學過python的肯定知道使用 pip install pyftpdlib來安裝。然後看了一些這個庫的說明文件,就可以寫程式碼了,也就15行左右。

我使用的工具是pycharm,下面把程式碼附在下面有詳細的註釋。

  1. #coding:utf-8
  2. from pyftpdlib.authorizers import DummyAuthorizer  
  3. from pyftpdlib.handlers import FTPHandler  
  4. from pyftpdlib.servers import FTPServer  
  5. #新建一個使用者組
  6. authorizer = DummyAuthorizer()  
  7. #將使用者名稱,密碼,指定目錄,許可權 新增到裡面
  8. authorizer.add_user("fan""root""D:/", perm="elr")#adfmw
  9. #這個是新增匿名使用者,任何人都可以訪問,如果去掉的話,需要輸入使用者名稱和密碼,可以自己嘗試
  10. authorizer.add_anonymous("D:/")  
  11. handler = FTPHandler  
  12. handler.authorizer = authorizer  
  13. #開啟伺服器
  14. server = FTPServer(("127.0.0.1"21), handler)  
  15. server.serve_forever()  
然後將程式執行起來,接下來看一下效果,在瀏覽器上ftp://localhost/