因此,我使用Python2.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(它起作用了!)。然后我去了防火墙(在两台服务器上),允许所有进出流量,但仍然得到相同的错误。。。
有什么想法吗?!(正如我所说,在第三台服务器上运行良好。。。似乎login命令可以正常工作,但RETR不起作用)
编辑:
这是在ftp中直接执行的命令示例