來源: qiye_ 發(fā)布時(shí)間:2018-11-21 14:46:45 閱讀量:1145
學(xué)習(xí)了大約快一個(gè)月的python,現(xiàn)在開始有意識(shí)做一些項(xiàng)目。
據(jù)我了解,python現(xiàn)在更多的是用于自動(dòng)化運(yùn)維方面,例如做一些服務(wù)器上審計(jì)堡壘機(jī),分布式監(jiān)控,還有做web的后臺(tái)開發(fā)。
今天想在實(shí)驗(yàn)室搭建一個(gè)ftp服務(wù)器,用來分享一些資料,于是就想到了利用python來進(jìn)行開發(fā)。
ftp服務(wù)器的本質(zhì)還是利用socket編程來實(shí)現(xiàn),只不過遵循特定的協(xié)議而已,我查了一下協(xié)議是RFC959。
當(dāng)然為了不重復(fù)造輪子,先看看有沒有開源的lib,百度一下找到了pyftpdlib這個(gè)庫,查看了一下這個(gè)庫,發(fā)現(xiàn)代碼量并不大,之后的博客打算進(jìn)行源碼分析。
不過現(xiàn)在當(dāng)然是快速的使用。
首先當(dāng)然是安裝pyftpdlib,學(xué)過python的肯定知道使用 pip install pyftpdlib來安裝。然后看了一些這個(gè)庫的說明文檔,就可以寫代碼了,也就15行左右。
我使用的工具是pycharm,下面把代碼附在下面有詳細(xì)的注釋。
#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("fan", "root", "D:/", perm="elr")#adfmw
#這個(gè)是添加匿名用戶,任何人都可以訪問,如果去掉的話,需要輸入用戶名和密碼,可以自己嘗試
authorizer.add_anonymous("D:/")
handler = FTPHandler
handler.authorizer = authorizer
#開啟服務(wù)器
server = FTPServer(("127.0.0.1", 21), handler)
server.serve_forever()
然后將程序運(yùn)行起來,接下來看一下效果,在瀏覽器上ftp://localhost/
---------------------
在線
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線溝通:
客服
熱線
7*24小時(shí)客服服務(wù)熱線
關(guān)注
微信
關(guān)注官方微信