Python urlopen IOError: [Errno socket 错误] [Errno 10060]

1 投票
1 回答
4922 浏览
提问于 2025-04-18 02:18

我想了解一下在使用Python 2.7的urlopen时出现的这个错误:IOError: [Errno socket error] [Errno 10060]。我用的是个人的35MB/s的网络连接(没有代理)。

我通过一个Python脚本打开多个网页,来自不同的网站,但有时会随机出现这个错误信息:

webpage = urlopen('http://www.thewebpage.com')


IOError: [Errno socket error] [Errno 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

这个错误是在尝试打开来自不同网站的页面后出现的。因此,这个问题似乎并不是只和某一个特定网站有关。我在使用mechanize时也遇到过这个错误。

我有几个问题:

  1. 这个错误是否和我在短时间内向同一个服务器发送多个请求有关?如果我设置一个超时,会不会减少出现这个错误的机会?
  2. 有没有办法防止这个错误?我可以用条件语句来避免脚本崩溃吗?

我的脚本大约需要一个小时才能运行完,遇到这个错误后还得重新运行,真的很让人烦。

1 个回答

3

如果你在短时间内向同一个服务器发送很多请求,服务器可能会不回应,因为这些请求看起来像是网络攻击(也叫做DDoS攻击)。你可以用一个叫做try-except的方式来捕捉这个错误,然后再试一次。

撰写回答