如何解决python请求错误:"最大重试超过了url"

时间:2017-02-06 02:36:13

标签: python python-requests

我有以下代码:

res = requests.get(url)

我使用多线程方法会产生以下错误:

ConnectionError:HTTPConnectionPool(host =' bjtest.com',port = 80):使用url超出最大重试次数:/ rest / data?method = check& test = 123(引起:[Errno 104] ]通过对等方重置连接)

我使用了follow方法,但仍然有错误:

s = requests.session()
s.keep_alive = False

OR

res = requests.get(url, headers={'Connection': 'close'})

所以,我应该怎么做?

BTW,url没问题,但只能在内部访问,所以url没问题。谢谢!

3 个答案:

答案 0 :(得分:1)

你在Mac上运行你的脚本?我也遇到类似的问题,你可以执行ulimit -n来检查你一次可以处理多少文件。

您可以使用以下内容放大配置。

resource.setrlimit(resource.RLIMIT_NOFILE, (the number you reset,resource.RLIM_INFINITY))
希望可以帮到你。

my blog which associated with your problem

enter image description here

答案 1 :(得分:0)

错误消息(这无疑令人困惑)实际上意味着requests无法连接到您请求的网址。

在这种情况下,因为您的urlhttp://bjtest.com/rest/data?method=check&test=123,这不是一个真实的网站。

它与您提出请求的格式无关。修复您的url,它应该(可能)适合您。

答案 2 :(得分:0)

我有一个类似的案例,希望它可以为您节省一些时间:

requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8001): Max retries exceeded with url: /enroll/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x10f96ecc0>: Failed to establish a new connection: [Errno 61] Connection refused'))

问题实际上很愚蠢……本地主机在端口8001处关闭!重新启动服务器即可解决。