【解决】Python——Max retries exceeded with url: (Caused by NewConnectionError(‘<urllib3.connection

这篇博客探讨了在进行HTTP请求时遇到的MaxRetriesExceeded错误,该错误通常由于socket套接字句柄耗尽导致。博主提出了两种解决方案:一是通过设置请求头关闭连接;二是使用session并关闭保持连接选项。这些方法旨在避免因连接数过多而引发的连接超时问题,确保HTTP请求的顺利进行。
HTTPConnectionPool(host='yzw.zjnu.edu.cn', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f50050a2700>: Failed to establish a new connection: [Errno 110] Connection timed out'))
Traceback (most recent call last):

UnboundLocalError: local variable 'req' referenced before assignment

这是由于:能创建socket套接字句柄的数量是有限的,无论是win还是Linux,错误信息是用光了socket, 所以无法再建立tcp链接, 所以 要么sleep()停一下; 要么就让它不要一直保持着连接,访问完,完成一次传输就断掉 了。

方法一

添加一个请求头,请求头内字段为:

headers = {'Connection':'close'}

请求修改为:

res = requests.post('http://', json.dumps(data), headers=headers)

方法二

s = requests.session()

s.keep_alive = False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lucky_Turtle

感谢您的打赏,作者会多多努力的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值