我有以下代码:
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
没问题。谢谢!
答案 0 :(得分:1)
你在Mac上运行你的脚本?我也遇到类似的问题,你可以执行ulimit -n来检查你一次可以处理多少文件。
您可以使用以下内容放大配置。
resource.setrlimit(resource.RLIMIT_NOFILE, (the number you reset,resource.RLIM_INFINITY))
希望可以帮到你。
答案 1 :(得分:0)
错误消息(这无疑令人困惑)实际上意味着requests
无法连接到您请求的网址。
在这种情况下,因为您的url
是http://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处关闭!重新启动服务器即可解决。