我们在使用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 协议错误。
错误的原理:
-
requests 库允许用户,为发送的请求设置重试逻辑。如果请求连续失败达到设定的次数,就会抛出这个错误。
-
SSLEOFError(8,‘EOF occurred in violation of protocol’) 是指, SSL/TLS 加密的 HTTPS 请求过程中发生了一个 EOF(文件结束)错误。在 SSL 握手过程中,连接意外地结束了,这违反了 SSL 协议。
解决办法:
这时候可以使用 requests 的 Session 对象,并设置 mount 方法来配置 HTTPAdapter,包括重试策略,例如:
import requests
from requests.adapters

最低0.47元/天 解锁文章
4193

被折叠的 条评论
为什么被折叠?



