Python requests 多线程抓取 出现HTTPConnectionPool Max retires exceeded异常

本文探讨了在使用Python的requests库时遇到的HTTP连接池超时问题,并提供了具体的解决方案,包括如何通过修改session设置来避免连接过多导致的阻塞。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阿里云 服务器 特价秒杀活动,优惠券,有需要的自领:https://www.aliyun.com/acts/product-section-2019/new-users?userCode=fr7cmxm9

  • 场景:
    在做爬虫项目或者是在发送网络请求的时候,一般都会用到request模块,但是经常会遇到:
HTTPConnectionPool Max retires exceeded read time out的问题

查阅资料后发现,出现异常的原因是因为,requests在发送http请求之后,并没有关闭http连接导致,连接过多然后阻塞。
requests使用了urllib3库,默认的http connection 是keep-alive的,requests中可以设置False关闭。

实际在python2中的代码使用

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

Tips:
网上有的说是:

s = requests.session()
s.config['keep_alive'] = False

单我实际应用中报异常了。最后用第一个成功解决。

总结:
对于request库的诸多应用,应该多熟悉操作。加深印象。

推荐微信小程序阅读:

【十一】 10分钟精通微信小程序 | 云函数管理端
【十】 10分钟精通小程序 | 云函数异步返回结果
【九】10分钟精通微信小程序 | 云函数
【八】 10分钟精通微信小程序云存储 | 云存储
【七】10分钟精通微信小程序 | 增删改查
【六】10分钟精通微信小程序 | 增删改查
【五】10分钟精通微信小程序 | 云数据库增删改查
【四】10分钟精通微信小程序 | 云控制台
【三】10分钟精通微信小程序 | 光速入门
【二】10分钟精通微信小程序云开发 | 多图上传并存储路径到云数据库
【一】10分钟精通微信小程序 | 获取用户openid

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不知火猪

如果觉得有帮助,打赏鼓励,3Q

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

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

打赏作者

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

抵扣说明:

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

余额充值