首页  >  文章  >  后端开发  >  为什么Python在访问HTTPS网站时会抛出“证书验证失败”错误?

为什么Python在访问HTTPS网站时会抛出“证书验证失败”错误?

Patricia Arquette
Patricia Arquette原创
2024-11-03 04:49:02595浏览

Why Does Python Throw a

理解 Python 中的“证书验证失败”错误

当尝试使用 Python 从 HTTPS 网站检索数据时,可能会遇到以下错误:

certificate verify failed: unable to get local issuer certificate

出现此错误是因为Python无法验证网站的安全证书。默认情况下,Python 依靠自己的一组受信任的根证书来验证网站证书。但是,如果网站的证书不是由这些受信任的根证书之一签署的,Python 将无法通过验证过程。

解决方案:安装系统证书

一种解决方案此错误是将网站的安全证书安装到系统的受信任根证书存储中。在 Mac 上,可以通过在终端中运行以下命令来实现:

/Applications/Python\ 3.7/Install\ Certificates.command

此命令会将系统的默认受信任根证书集安装到 Python 的受信任证书存储中。

了解证书的作用

SSL 证书用于在 Web 浏览器和 Web 服务器之间建立安全连接。它们包含有关网站身份的信息,用于加密双方之间传输的数据。

  • 根证书是由受信任的证书颁发机构 (CA) 颁发的证书。
  • 中间证书是由非根 CA 的 CA 颁发的证书。
  • 网站证书是由 CA 向特定网站颁发的证书。

其他学习资源

为了提高您对 SSL 证书和安全性的理解,请考虑以下资源:

  • [Mozilla 开发者网络:SSL/TLS 证书]( https://developer.mozilla.org/en-US/docs/Glossary/Certificate)
  • [Cloudflare:了解 SSL 证书](https://www.cloudflare.com/en-us/learning/ ssl/understanding-ssl-certificates/)
  • [SecurityBoulevard:SSL 证书层次结构:简单说明](https://securityboulevard.com/2017/11/ssl-certificate-hierarchy-simple-explanation/)

以上是为什么Python在访问HTTPS网站时会抛出“证书验证失败”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn