首页 >后端开发 >Python教程 >如何修复 urllib 中的'SSL: CERTIFICATE_VERIFY_FAILED”错误?

如何修复 urllib 中的'SSL: CERTIFICATE_VERIFY_FAILED”错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-14 01:10:11154浏览

How to Fix the

urllib 和“SSL: CERTIFICATE_VERIFY_FAILED”错误

使用 urllib 时遇到“SSL: CERTIFICATE_VERIFY_FAILED”错误是一个常见问题,尤其是当尝试访问 HTTPS 网站。此错误通常表示您的系统无法验证目标网站的 SSL 证书。

macOS 上的 Python 3.6 解决方案

如果您使用的是 Python 3.6在 macOS 上,解决方案是安装 certifi 包并创建从 OpenSSL 证书文件到 certifi 安装的证书文件的符号链接。此步骤是必要的,因为 macOS 上的 Python 3.6 没有预装证书。

要解决此问题:

  1. 安装 certifi 包:pip install certifi
  2. 在终端中运行以下命令:/Applications/Python 3.6/Install Certificates.command

绕过证书验证

在某些情况下,您可能希望完全绕过 SSL 证书验证。出于安全原因,不建议这样做,但可以通过修改 urlopen 请求来完成:

import urllib2

# Create a request object
req = urllib2.Request(url)

# Create a context object with no certificate verification
context = ssl.SSLContext()
context.verify_mode = ssl.CERT_NONE

# Use the context object with the request
req = urllib2.Request(url, context=context)

注意: 此方法应该仅在受信任的环境中使用,因为它可以减少您的应用程序的安全性。

以上是如何修复 urllib 中的'SSL: CERTIFICATE_VERIFY_FAILED”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

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