【问题标题】:Python ftplib WinError 10060Python ftplib WinError 10060
【发布时间】:2017-05-22 06:43:30
【问题描述】:

我正在学习通过此链接使用 ftplib 从 ftp 服务器检索文件:https://docs.python.org/2/library/ftplib.html

当我运行这段代码时

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

我明白了

TimeoutError: [WinError 10060] 连接尝试失败,因为 关联方在一段时间后没有正确响应,或 建立连接失败,因为连接的主机未能 回复

从这个答案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 位 Win 10 环境中在 Thonny(IDE) 上使用 Python 3.6.1

【问题讨论】:

  • 试试this这是一种不同的方法,可能对你有帮助
  • 相同的代码在tutorialspoint.com/execute_python_online.php的在线python编译器中工作,所以问题一定出在我的设置上。
  • @YashKaranke 这不是我的代码的问题,因为这里的 ftp 是 URL 的一部分,而不仅仅是协议。完整的 URL 是 ftp.debian.org 所以我已经删除了 ftp:// 部分。
  • 我将互联网连接更改为移动热点,代码没有问题。你能告诉我是我的路由器阻塞了请求还是我的 ISP 阻塞了?
  • @AseemSeptember:你找出问题所在了吗?我也面临同样的问题。

标签: python ftplib


【解决方案1】:

这段代码没有错。这个对我有用。也许在您尝试它时服务器非常慢。您可以在连接中设置超时:

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

【讨论】:

  • 我已经在多台服务器上多次运行此代码。每次我都会遇到相同的错误,这就是为什么我认为问题出在我的设置上。我关闭了防火墙,但这没有帮助。
  • 我使用了 timeout=120,但即便如此,我在 15 秒内也收到了同样的错误。
猜你喜欢
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
相关资源
最近更新 更多