python 用pyftplib快速建設ftp

jopen 9年前發布 | 23K 次閱讀 pyftplib Python開發

    先下載

 svn checkout http://pysendfile.googlecode.com/svn/ pysendfile-read-only  

cd pysendfile-read-only/    

 python setup.py build  

python setup.py install  

 svn checkout http://pyftpdlib.googlecode.com/svn/trunk/ pyftpdlib-read-only   

 cd pyftpdlib-read-only/  

 python setup.py build  
python setup.py install  </pre><br />

vim ftpserver.py

    #!/usr/bin/env python  
    from pyftpdlib import ftpserver  
    authorizer = ftpserver.DummyAuthorizer()  
    authorizer.add_user("user", "12345", "/home/great", perm="elradfmw")  
    authorizer.add_anonymous("/home/great")  
    handler = ftpserver.FTPHandler  
    handler.authorizer = authorizer  
    address = ("127.0.0.1", 21)  
    ftpd = ftpserver.FTPServer(address, handler)  
    ftpd.serve_forever()  

python ftpserver.py

  別人的代碼

    from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer

def main():  
    # Instantiate a dummy authorizer for managing 'virtual' users  
    authorizer = DummyAuthorizer()  

    # Define a new user having full r/w permissions and a read-only  
    # anonymous user  
    authorizer.add_user('user', '12345', '.', perm='elradfmwM')  
    authorizer.add_anonymous(os.getcwd())  

    # Instantiate FTP handler class  
    handler = FTPHandler  
    handler.authorizer = authorizer  

    # Define a customized banner (string returned when client connects)  
    handler.banner = "pyftpdlib based ftpd ready."  

    # Specify a masquerade address and the range of ports to use for  
    # passive connections.  Decomment in case you're behind a NAT.  
    #handler.masquerade_address = '151.25.42.11'  
    #handler.passive_ports = range(60000, 65535)  

    # Instantiate FTP server class and listen on 0.0.0.0:2121  
    address = ('', 2121)  
    server = FTPServer(address, handler)  

    # set a limit for connections  
    server.max_cons = 256  
    server.max_cons_per_ip = 5  

    # start ftp server  
    server.serve_forever()  

if __name__ == '__main__':  
    main()  </pre><br />

文檔
http://pythonhosted.org/pyftpdlib/index.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!