python关于SSLError的解决方法

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

['Btcd Thread:', (<class 'ssl.SSLError'>, SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'), <traceback object at 0x7f03c20f6c48>)]

网上找了很多解决方法,都是针对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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值