Python搭建FTP服务器的方法示例

  

Python版本操作
  

  

使用的ftp包:pyftpdlib ,,pip安装pyftpdlib就可以下载安装了
  

  

FTP协议下载上传文件在文件过大的情况下会比HTTP更具有优势,更为方便的实现断点上传和进度监控、下面是官方文档中的

  

基本方法
  

        进口操作系统   从pyftpdlib。授权人进口DummyAuthorizer   从pyftpdlib。处理程序导入FTPHandler   从pyftpdlib。服务器导入FTPServer      def main ():   #实例化用户授权管理   授权人=DummyAuthorizer ()   授权人。add_user(“用户”,“12345”,“路径”,烫=elradfmwMT) #添加用户参数:用户名、密码,允许的路径,权限   authorizer.add_anonymous (os.getcwd()) #这里是允许匿名用户,如果不允许删掉此行即可      #实例化FTPHandler   处理程序=FTPHandler   处理程序。授权人=授权人      #设定一个客户端链接时的标语   处理程序。基于横幅=" pyftpdlib ftpd准备好。”      #处理程序。masquerade_address=' 151.25.42.11 ' #指定伪装ip地址   #处理程序。passive_ports=范围(60000、65535)#指定允许的端口范围      地址=(ipaddr, 21) # FTP一般使用21日20端口   服务器=FTPServer(地址、处理程序)# FTP服务器实例      #设置一个限制连接   服务器。max_cons=256   服务器。max_cons_per_ip=5      #开启服务器   server.serve_forever ()      if __name__==癬_main__”:   main ()   之前      

开启ftp服务器后要确定防火墙开启了21日20端口,并且在客户端的浏览器中设置互联网选项高级选项卡中的被动ftp的勾去掉之后才能登陆到ftp服务器
  

  

从Windows登录到服务器:

  

 Python搭建FTP服务器的方法示例

  

利用Python从ftp服务器上下载文件
  

        从ftplib进口FTP   ftp=ftp ()   ftp.connect (' localhost ', 21) # localhost改成服务器ip地址   ftp.login(用户=没А?passwd=' 12345 ')      文件打开=(f://ftpdownload/用法,“世界银行”)   ftp。retrbinary (“RETR用法”,file.write, 1024) #从服务器上下载文件1024字节一个块   ftp.set_debuglevel (0)   ftp.close ()   之前      

FTP服务器事件回调函数:
  

        类MyHandler (FTPHandler):   def on_connect(自我):#链接时调用   打印“% s: % s连接“%(自我。remote_ip self.remote_port)      def on_disconnect(自我):#关闭连接是调用   #做一些当客户端断开连接   通过      def on_login(自我、用户名):#登录时调用   当用户登录#做点什么   通过      def on_logout(自我、用户名):#登出时调用   #做一些当用户注销   通过      def on_file_sent(自我,文件):#文件下载后调用   #做一些当一个文件被发送   通过      def on_file_received(自我,文件):#文件上传后调用   #做一些当文件已经收到   通过      def on_incomplete_file_sent(自我,文件):#下载文件时调用   #做一些当文件部分发送   通过      def on_incomplete_file_received(自我,文件):#上传文件时调用   #删除部分上传文件   进口操作系统   os.remove(文件)      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Python搭建FTP服务器的方法示例