python关于SSLError的解决方法

最近在使用http.client调用btcd时报错SSLError

['Btcd Thread:', (, SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'), )]

网上找了很多解决方法,都是针对requests的:

方法一:设置不认证

request.get(url, verify=False)

request.get(url, verify=False)

这个是网上搜到的最常用的方法,但是我的代码中使用的是HTTPConnection.request()这个函数,好像不能在参数中设置verify,就放弃这个方法。

参考:https://www.jianshu.com/p/8deb13738d2c

方法二:安装requests的security extras

pip install -U requests[security]

好不容易下载完了,结果还是没有任何帮助..

方法三:更新系统的certifi

sudo apt-get install ca-certificates

同样也没有解决问题

方法四:

最后还是采用这个方法解决了:

引入ssl模块  

import ssl

在url链接代码上方添加语句:

ssl._create_default_https_context = ssl._create_unverified_context

参考:

https://www.cnblogs.com/hankleo/p/11456571.html

https://www.jianshu.com/p/b6b85e53d2e1

你可能感兴趣的:(python关于SSLError的解决方法)