首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复只在Pycharm (CERTIFICATE_VERIFY_FAILED)中引发的'SSL: CERTIFICATE_VERIFY_FAILED‘错误

如何修复只在Pycharm (CERTIFICATE_VERIFY_FAILED)中引发的'SSL: CERTIFICATE_VERIFY_FAILED‘错误
EN

Stack Overflow用户
提问于 2019-04-29 16:59:19
回答 1查看 7.1K关注 0票数 0

当使用Python3解释器在Pycharm中发出https请求时,我会收到以下错误:

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1056)

我倾向于假设这是我的Pycharm配置中的一个问题,因为这个问题只有在使用任何版本的Python3时才会出现。该代码在Pycharm中使用Python2.7运行良好,并在命令行中运行良好的Python3。

通过Pycharm,我尝试使用不同版本的Python3创建新的虚拟环境。所有这些都基于能够成功运行独立于Pycharm的代码的解释器。

这个错误最常见的解决方案是运行在/Applications/Python 3.x/上找到的/Applications/Python 3.x/,但是运行它只会确认certifi包已经是最新的了。

下面代码的最后一行将引发错误:

代码语言:javascript
复制
headers = {"authuser":username, "authpass":password}
conn = http.client.HTTPSConnection(url)
conn.request("POST",requestpath, headers)
EN

回答 1

Stack Overflow用户

发布于 2019-04-29 17:14:28

假设您正在运行Python3.4.3或更高版本,并且如果您不需要验证目标,则可以尝试禁用证书和主机名检查:

代码语言:javascript
复制
headers = {"authuser":user, "authpass":pass}
conn = http.client.HTTPSConnection(url, context=ssl._create_unverified_context())
conn.request("POST",requestpath, headers)

来自https://docs.python.org/3/library/http.client.html的官方https://docs.python.org/3/library/http.client.html文档

在3.4.3版本中更改:这个类现在默认执行所有必要的证书和主机名检查。若要还原到前一个未经验证的行为,可以将行为ssl._create_unverified_context()传递给上下文参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55907813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档