Python关于requests.exceptions.SSLError解决方案

图片来自互联网 侵权删

一直学习爬虫,一直未实战,近期难得工作上比较轻松,开始通过一些案例深入学习爬虫知识。今天尝试读取某个网站API,https协议,使用requests.get('https://xxx', headers=headers)访问是,抛出如下错误信息:

requests.exceptions.SSLError: HTTPSConnectionPool(host='https://xxx', port=443)

根据错误信息百度一下,主要解决方案如下:
1、先检查是否已安装requests的依赖安装包:

pip install cryptography 
pip install pyOpenSSL
pip install certifi

2、如果已经安装依赖安装包,还会报错,则在请求后面加上verify=False

response = requests.get('https://xxx', headers=headers, verify=False)

尝试上述两个步骤,但是异常依旧,继续搜索。最终又找到一个方案,

pip install -U requests[security]

注意后面的方括号,pip会安装三个security相关的package:pyopenssl cryptography idna。试了一下,果然有效,不再报错。
至于什么原因,还请知道的大咖能指点下,谢谢!

你可能感兴趣的:(Python关于requests.exceptions.SSLError解决方案)