(转)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=Fals

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

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

pip install -U requests[security]

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


作者:忠洋哥
链接:https://www.jianshu.com/p/38c1ba472db3
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(python)