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服务器上下载文件
从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服务器的方法示例