python - 如何解决[SSL : CERTIFICATE_VERIFY_FAILED] Error when Using urllib without bypassing SSL verification

标签 python ssl urllib

import urllib.request
import json
    
gojson = 'https://nominatim.openstreetmap.org/details.php?osmtype=W&osmid=17025436&class=highway&addressdetails=1&hierarchy=0&group_hierarchy=1&format=json&polygon_geojson=1'
res_body = urllib.request.urlopen(gojson).read()

错误:

URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1129)>

我知道我可以使用以下代码来解决该错误:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

但我更想知道如何解决这个问题。我在网上搜索时无法找到解决方案。有什么建议吗?

最佳答案

如果您使用的是 Ubuntu 计算机,则:

sudo apt install ca-certificates
sudo update-ca-certificates --fresh
export SSL_CERT_DIR=/etc/ssl/certs

如果您使用的是Mac或者需要以其他方式处理,请引用以下答案:

urllib and "SSL: CERTIFICATE_VERIFY_FAILED" Error

关于python - 如何解决[SSL : CERTIFICATE_VERIFY_FAILED] Error when Using urllib without bypassing SSL verification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69692910/

相关文章:

ruby-on-rails - Metasploit:send_request_cgi 为 HTTPS 连接返回 nil

Python,反函数 urllib.urlencode

python - 如何使用 python 的 urllib 对 POST 数据进行编码

python - 我应该使用哪个 : urlparse or urlsplit?

python : How to combine data from multiple XML files

python - 合并多个数据框pandas

python - 属性错误: 'module' object has no attribute 'locals'

python - 如何迭代 Django 模板中的列表?

java - 使用 Spring RestTemplate、Maven 和 HTTPS 进行集成测试——客户端连接?

Python/SSL 认证