【问题标题】:urllib2.URLError: handshake failureurllib2.URLError:握手失败
【发布时间】:2013-11-18 02:25:22
【问题描述】:

我正在对我们的数据库服务执行一个大循环的 http 请求。一切正常,但是每当我运行它时,在(看似随机的)成功查询数之后,我都会收到以下错误:urllib2.URLError: <urlopen error [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure>

我正在使用 python,使用 urllib2 发送请求,使用 urllib 对我的 URL 中的一些内容进行编码,仅此而已。就像我说的,它看起来完全随机。我刚刚运行它,但在 6 个请求后它失败了。前一次,它在 49 次成功尝试后崩溃。以前有人遇到过这个问题吗?

谢谢

【问题讨论】:

标签: python urllib2 sslhandshakeexception


【解决方案1】:

它更关心网络而不是你的代码。

我建议你可以使用 requests 模块,在模块内重试。

或者您可以在代码中添加一些重试。

例如,你可以这样写:

for i in range(reties):
    try:
       resp = xx.get(url)
       result = resp.get_result
    except (ConnectionError, SocketError or whatever else):
       pass
else:
    arise Exception('Retry Error')

【讨论】:

    【解决方案2】:

    说真的,如果您不限于核心软件包,您应该尝试Python Requests 而不是urllib2

    【讨论】:

      【解决方案3】:

      Stan 我认为 Scrapy 速度更快,可以处理所有类型的连接错误。

      Eric 我建议你查看scrapy 你会被它的速度和功能所惊叹

      咸鱼

      【讨论】:

        猜你喜欢
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 2018-07-28
        • 2017-06-19
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多