2017-05-22 211 views
0

我正在學習使用FTPLIB從這個鏈接從FTP服務器上檢索文件:https://docs.python.org/2/library/ftplib.htmlPython的FTPLIB WinError 10060

當我運行這段代碼

from ftplib import FTP 
ftp = FTP('ftp.debian.org') 
ftp.login() 

我得到

TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

從這個答案https://stackoverflow.com/questions/4946960/when-using-ftplib-in-python#=我知道這是一個服務器端問題,可以通過改變ACTV模式來解決。

所以我改變了我的代碼

from ftplib import FTP 
ftp = FTP() 
ftp.set_pasv(True) 
ftp.connect('ftp.debian.org') 
ftp.login() 

還是同樣的錯誤。任何人都可以告訴我,我的問題還有什麼其他原因?

編輯 - 在64位贏得10環境上Thonny(IDE)使用Python 3.6.1

+0

嘗試[這](http://stackoverflow.com/q/27953923/5513005)這是一個不同的方法,可以幫助你 –

+0

相同的代碼工作在網上蟒蛇編譯器在https://www.tutorialspoint.com/execute_python_online.php 所以這個問題必須與我的設置。 –

+0

@YashKaranke這不是我的代碼問題,因爲這裏的ftp是URL的一部分,而不僅僅是協議。完整的URL是ftp://ftp.debian.org,所以我已經刪除了ftp://部分。 –

回答

0

沒有錯代碼。這個對我有用。也許服務器在你嘗試時速度很慢。您可以在連接設置超時:

ftp.connect('ftp.debian.org',timeout=seconds) 
+0

我已經在多個服務器上運行過這段代碼很多次了。我每次都會得到同樣的錯誤,這就是爲什麼我認爲這個問題與我的設置有關。我把防火牆關掉了,但這並沒有幫助。 –

+0

我使用了timeout = 120,但即使如此,我在15秒內收到了相同的錯誤。 –