主动模式和被动模式之间很可能发生冲突。确保满足以下条件之一:
- 服务器支持PASV模式,并且您的客户端正在设置PASV模式
- 如果服务器不支持被动模式,则您的防火墙必须支持主动模式FTP传输。
编辑:我看了看文档,发现在Python 2.1及更高版本中默认为被动模式。您正在与什么服务器通信,您是否知道它是否支持被动模式?
在活动模式(非PASV)下,客户端发送PORT命令,通知服务器在该端口上启动DATA连接,这要求您的防火墙了解PORT命令,以便它可以将传入的DATA连接转发给您-
很少的防火墙支持这一点。在被动模式下,客户端打开DATA连接,服务器使用它(服务器在打开数据连接时是“被动”的)。
以防万一您没有使用被动模式,请执行a
ftp.set_pasv(True)并查看是否有所不同。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)