解决Python报错SSLError,如果试了网上一大堆方法还不行,看看这个吧!!
前言
这个问题困扰了群友一天,我怀着好奇心去试试看,不到5分钟给解决了哈哈。
报错代码
报错代码中对相关的host和url进行了替换,大家在网上发布内容也要注意隐私哈,多长个心眼子总没错。
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验证。 - 对
requests和urllib库进行降级安装。 - 重新安装
openssl。 - 安装
pyopenssl等一系列的第三方库。
当你进行了以上一系列猛如虎的操作后,你会发现你的代码依旧是一片红。
我的解决方式
正题来了,我在使用了浏览器和apipost对该网址进行了重发测试后,发现请求是正常的。然而我的开发环境对于其他https协议的url是可以正常请求获取数据的,再不行加个verify=False也可以了。
在确定了代码和环境都没有任何问题后,第一时间想到的就是会不会遇到了反爬?如果是反爬,大概率就是类似tls指纹这种认证了(对哦,我声明一下,本人是学习阶段,还是小菜鸡,如果有什么地方描述有误或者理解有误,欢迎各位大佬指正,我会认真学习并且接受好的建议,谢谢各位大佬!!)
我之前在各大论坛冲浪的时候,有接触到tls这种反爬技术,随后我就搜索关于tls指纹相关的文档,发现可以手写加密算法来替换指纹或者直接调库侠使用别人写好的第三方库,现在,给大家推荐一个第三方库curl_cffi,使用命令pip install curl_cffi即可。
curl_cffi使用方式
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指纹认证技术,或者我的文章不曾有幸被你看到,你的问题会在多长时间可以得到解决呢?
第一次发文章,有很多不足之处,请大佬们多多见谅,希望可以帮到在网上冲浪求解的你们。
解决Python报错SSLError,如果试了网上一大堆方法还不行,看看这个吧!!的更多相关文章
- 解决python报错:ImportError: No module named shutil_get_terminal_size 的方法
我的环境:Ubuntu 16.04.5 LTS 修改这个文件: $HOME/.local/lib/python2.7/site-packages/IPython/utils/terminal.py 这 ...
- 解决Python报错:local variable 'xxx' referenced before assignment(引)
解决Python报错:local variable 'xxx' referenced before assignment(引) 解决Python报错:local variable 'xxx' refe ...
- [合集]解决Python报错:local variable 'xxx' referenced before assignment
a = 1 def use(): print(a) #输出1 引用不会报错 a = 1 def use(): a = 3 print(a) #输出 3 重新赋值也不会报错. 局部变量会优先在函数内部去 ...
- open-falcon ---安装Dashboard时候报错"SSLError: The read operation timed out"
在部署open-falcon环境过程中,安装Dashboard时候报错"SSLError: The read operation timed out".如下: [root@open ...
- [已解决]pycharm报错:AttributeError: module 'pip' has no attribute 'main'
> 更新pip后,pycharm更新模块报错,经过一番查找,现提供两种解决办法. 报错片段信息如下: AttributeError: module 'pip' has no attribute ...
- Python报错module 'scipy.misc' has no attribute 'xxx'
Python报错module 'scipy.misc' has no attribute 'imresize' 解决办法: 安装Pillow包,命令如下: pip install Pillow 然后重 ...
- selenium python 报错“ unable to find binary in default location”
selenium python 报错如下: raise exception_class(message, screen, stacktrace)selenium.common.exceptions.W ...
- python 报错 wxPyDeprecationWarning: Using deprecated class PySimpleApp.
如题:python 报错 提示为 : wxPyDeprecationWarning: Using deprecated class PySimpleApp. 解决:将 wx.PySimpleApp() ...
- PyCharm 中文 字符 python 报错 的 完美 解决方案!
PyCharm 中文 字符 python 报错 的 完美 解决方案! #_*_ coding:utf-8_*_ https://www.python.org/dev/peps/pep-0263/ 到p ...
- Python报错ModuleNotFoundError: No module named 'numpy'
转载:https://blog.csdn.net/qq_39779233/article/details/103224712 Python报错ModuleNotFoundError: No modul ...
随机推荐
- idea调式技巧汇总
调式进阶1: https://blog.csdn.net/future_god_qr/article/details/121250865 调式进阶2:(evaluate用法:)快捷键:alt+f8 ...
- 如何实现纯网页语音视频聊天和桌面分享?(附源码,PC版+手机版)
在网页里实现文字聊天是比较容易的,但若要实现视频聊天,就比较麻烦了.本文将实现一个纯网页版的视频聊天和桌面分享的Demo,可直接在浏览器中运行,不需要安装任何插件. 一. 主要功能及支持平台 1.本D ...
- freeswitch on centos dockerfile模式
概述 freeswitch是一款简单好用的VOIP开源软交换平台. centos7 docker上编译安装fs的流程记录,本文使用dockerfile模式. 环境 docker engine:Vers ...
- python之十进制、二进制、八进制、十六进制转换
数字处理的时候偶尔会遇到一些进制的转换,以下提供一些进制转换的方法 一.十进制转化成二进制 使用bin()函数 1 x=10 2 print(bin(x)) 二.十进制转化为八进制 使用oct()函数 ...
- 玩转 Helm 之 upgrade
0. 前言 在 玩转 Helm 一文中,简略提到了 Helm upgrade 的策略. 在实际项目开发上,upgrade 多是调研的重点.基于此,这里对 upgrade 继续展开. 1. basic ...
- [转帖]GC日志解读,这次别再说看不懂GC日志了
https://juejin.cn/post/7029130033268555807 测试环境:机器内存16G,JDK 8,12核CPU 测试用例,从网上找的示例,视情况修改即可: java ...
- tiup 工具离线安装与简单导出数据说明
tiup 工具离线安装说明 mirror的创建 能上网的机器上面进行如下操作: curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pi ...
- [转帖]如何在一个Docker中同时运行多个程序进程?
https://cloud.tencent.com/developer/article/1683445 我们都知道Docker容器的哲学是一个Docker容器只运行一个进程,但是有时候我们就是需要在一 ...
- 【转帖】text-davinci-003和ChatGPT之间的不同点
https://zhuanlan.zhihu.com/p/603709081 先看下GPT的发展时间线 InstructGPT(2022 年 1 月)是一系列 GPT-3 模型(包括 text-dav ...
- vuex4的简单使用
安装vuex cnpm install vuex@next --save 官网地址是 https://vuex.vuejs.org/zh/guide/#%E6%9C%80%E7%AE%80%E5%8D ...