【发布时间】:2016-05-11 13:20:01
【问题描述】:
所以我在 python 2.7 中使用 ftplib 连接到远程 FTP 服务器(从另一台服务器)以下载文件。当我执行 RETR 命令时,它会抛出:
self.get_connection().retrbinary("RETR " + source, open(destination, 'wb').write)
File "/usr/lib/python2.7/ftplib.py", line 414, in retrbinary
conn = self.transfercmd(cmd, rest)
File "/usr/lib/python2.7/ftplib.py", line 376, in transfercmd
return self.ntransfercmd(cmd, rest)[0]
File "/usr/lib/python2.7/ftplib.py", line 335, in ntransfercmd
conn = socket.create_connection((host, port), self.timeout)
File "/usr/lib/python2.7/socket.py", line 575, in create_connection
raise err
socket.error: [Errno 113] No route to host
现在我的代码在另一台服务器上运行良好,但在这台服务器上似乎不行。所以我尝试了ping x.x.x.x(有效),我使用telnet x.x.x.x 21(有效),ftp x.x.x.x(有效!)。然后我去了防火墙(在两台服务器上)并允许所有进出流量,但仍然遇到同样的错误......
有什么想法吗?! (正如我所说,这在第三台服务器上工作正常......而且登录命令似乎工作正常,但 RETR 却不行)
编辑:
这是一个直接在 ftp 中执行的命令示例
【问题讨论】:
标签: python python-2.7 ftp ftplib