【问题标题】:how to solve requests.exceptions.ConnectionError in python requests library如何解决python请求库中的requests.exceptions.ConnectionError
【发布时间】:2020-04-24 15:27:14
【问题描述】:

我在网站流量非常高的时候尝试填写在线表格,几乎不可能从服务器获得响应并且表格仅在有限的时间内打开。所以我使用 python 请求库来获取响应,但是当我尝试这个简单的代码时:

import requests
res = requests.get('url')

但我收到一个“requests.exceptions.ConnectionError”,说“现有连接被远程主机强制关闭”

我怎样才能解决这个问题,并等到我从请求对象得到响应与获得响应所需的时间一样多。

【问题讨论】:

    标签: python-3.x exception python-requests


    【解决方案1】:

    根据this question,一个解决方案是循环直到超时或结果:

    import requests
    from requests.exceptions import ConnectionError
    from time import sleep
    i=0
    not_found=True
    while i <30 and not_found:
        try:
            res = requests.get('url')
            not_found=False
        except ConnectionError:
            sleep(1)
            i += 1
    

    【讨论】:

    • 非常感谢您的快速响应并且代码有效
    • 是否有任何其他方式我们可以请求响应,这样它就不会引发连接错误并且它会请求直到它得到响应。我的意思是脚本应该卡在那个请求语句上,直到它从 url 得到响应。
    • @RomanK.C.关于 Session() 对象上的 max_retries 的有用内容here
    猜你喜欢
    • 1970-01-01
    • 2021-06-05
    • 2021-02-03
    • 2019-04-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    相关资源
    最近更新 更多