程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python Requests模块监控https网站总是报错 SSLError

hfteth 2024-12-19 09:13:21 技术文章 18 ℃

环境 python 3.12

业务 python 通过requests监控网站返回状态status_code。

因业务监控需要,想了解网站状态,一般能访问,返回状态码就是200,遇到一个网站,证书完整,但是报错SSLError。

报错类型如下:

Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1000)')))

于是尝试使用

response = requests.get(url, verify=False)

但是依然不好使。这个验证False适用于哪些证书过期或者证书有问题的网站。

于是查询发现可能网站有限制,我的目的就是要获取网站是否可以访问,现在是浏览器能够直接访问,request访问报错,找到的解决办法如下:

使用curl_cffi 模块,没有的同学自己安装下pip install curl_cffi

from curl_cffi import requests as cffi_requests
response = cffi_requests.get(url)
print(f"状态码: {response.status_code}")

这样status_code就是正常的200了。

小伙伴们可以尝试一下。

Tags:

最近发表
标签列表