【Python】requests获取网络响应的时候,遇到url超过最大重试次数的解决方法

我们在使用requests连接网址后,获取网络响应的时候,有时候可能会遇到这样的问题:
在这里插入图片描述
问题:

Maxretries exceeded with url: /tags-%E9%A1%B9%E7%9B%AE-5.html(Caused
by SSLError(SSLEOFError(8,‘EOFoccurred in violation of
protocol(ssl.c:1129)’)))

这是指,在使用 requests 库或其他 HTTP 客户端库时,尝试对一个 URL 进行请求时超出了最大重试次数,并且在重试过程中遇到了 SSL 协议错误。

错误的原理:

  1. requests 库允许用户,为发送的请求设置重试逻辑。如果请求连续失败达到设定的次数,就会抛出这个错误。

  2. SSLEOFError(8,‘EOF occurred in violation of protocol’) 是指, SSL/TLS 加密的 HTTPS 请求过程中发生了一个 EOF(文件结束)错误。在 SSL 握手过程中,连接意外地结束了,这违反了 SSL 协议。

解决办法:

这时候可以使用 requests 的 Session 对象,并设置 mount 方法来配置 HTTPAdapter,包括重试策略,例如:

import requests
from requests.adapters 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值