解决Python报错SSLError,如果试了网上一大堆方法还不行,看看这个吧!!

前言

这个问题困扰了群友一天,我怀着好奇心去试试看,不到5分钟给解决了哈哈。

报错代码

报错代码中对相关的host和url进行了替换,大家在网上发布内容也要注意隐私哈,多长个心眼子总没错。

python 复制代码
requests.exceptions.SSLError: HTTPSConnectionPool(host='xxx.com', port=443): Max retries exceeded with url: xxxxxxx?xxxxx=xxx&xxxx=xxxxx (Caused by SSLError(SSLError(1, '[SSL: BAD_ECPOINT] bad ecpoint (_ssl.c:1129)')))

你可能会这么解决

看报错是SSLError,第一想法就会想到是和https相关,然后就去度娘搜,你大概率会得到类似于下面的一系列操作。

  • 使用verify=False,忽略ssl验证。
  • requestsurllib库进行降级安装。
  • 重新安装openssl
  • 安装pyopenssl等一系列的第三方库。
    当你进行了以上一系列猛如虎的操作后,你会发现你的代码依旧是一片红

我的解决方式

正题来了,我在使用了浏览器和apipost对该网址进行了重发测试后,发现请求是正常的。然而我的开发环境对于其他https协议的url是可以正常请求获取数据的,再不行加个verify=False也可以了。

在确定了代码和环境都没有任何问题后,第一时间想到的就是会不会遇到了反爬 ?如果是反爬,大概率就是类似tls指纹这种认证了***(对哦,我声明一下,本人是学习阶段,还是小菜鸡,如果有什么地方描述有误或者理解有误,欢迎各位大佬指正,我会认真学习并且接受好的建议,谢谢各位大佬!!)***

我之前在各大论坛冲浪的时候,有接触到tls这种反爬技术,随后我就搜索关于tls指纹相关的文档,发现可以手写加密算法来替换指纹 或者直接调库侠 使用别人写好的第三方库,现在,给大家推荐一个第三方库curl_cffi,使用命令pip install curl_cffi即可。

curl_cffi使用方式

python 复制代码
from curl_cffi import requests # 使用该requests代替原本的requests使用即可
# response = requests.get/post(url, headers=headers)
# 如果在使用response调用text或者json()没有相关提示时可以这样改写,这样就有提示了
from requests import Response
response: Response = requests.get/post(url, headers=headers)

结论

由此可见,掌握丰富的知识积累是非常有必要的,如果你从来没有听说过tls指纹认证技术 ,或者我的文章不曾有幸被你看到,你的问题会在多长时间可以得到解决呢?

第一次发文章,有很多不足之处,请大佬们多多见谅,希望可以帮到在网上冲浪求解的你们。

相关推荐
Maiko Star2 小时前
Python项目实战——网络机器人(爬虫)
爬虫·python·机器人
STDD4 小时前
n8n 实战工作流模板:GitHub→飞书通知、定时爬虫→数据库、Webhook→多渠道推送
爬虫·github·飞书
跨境数据猎手19 小时前
反向海淘实战|独立站搭建+国内电商API对接
开发语言·爬虫·架构
电商API_180079052471 天前
电商ERP 自动同步订单功能实现拆解与技术手段
服务器·前端·网络·爬虫
绘梨衣5471 天前
求助帖:pdf复杂表格解析
爬虫·python·pdf
huangdong_2 天前
电商图片下载工具技术路线全面解析:从爬虫方案到浏览器方案的完整技术演进与选型深度指南
爬虫
江华森3 天前
Python 实现高德地图找房(一):环境搭建与数据爬虫
开发语言·爬虫·python
狗都不学爬虫_3 天前
AI逆向 - 某定制瑞树6纯算(ck-header-params后缀)
爬虫·python·网络爬虫
亿牛云爬虫专家3 天前
2026架构前沿:将Declarative Crawler(声明式爬虫)引入你的技术栈
爬虫·架构·爬虫代理·requests·隧道代理·声明式爬虫·转发模式
跨境数据猎手3 天前
反向海淘SaaS系统架构拆解与业务技术
大数据·爬虫·系统架构