因此,我正在使用python 2.7中的ftplib連接到遠程FTP服務器(從另一臺服務器)以下載文件。當我執行RETR命令,它會拋出: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
謝謝Steffen的回答,不幸的是你是對的...因爲我想要做的只是一次性的事情,我做到了這一點。 。 – Oussama