添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
精彩文章免费看

Python 问题解决 | urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

环境和笔记:

macOS 10.12.6
Python3.7.0
pycharm community 2019.1
GitHub: https://github.com/Biosciman

from urllib.request import urlopen
import json
json_url = "https://raw.githubusercontent.com/muxuezi/btc/master/btc_close_2017.json"
response = urlopen(json_url)  # 出问题步骤
# 读取数据
req = response.read()
# 将数据写入文件
with open('btc_close_2017_urllib.json', 'wb') as f:
    f.write(req)
# 加载json格式
file_urllib = json.loads(req)
print(file_urllib)

遇到的问题

下载网络上文件时遇到urllib.error.URLError:证书认证失败

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1051)>

import ssl
context = ssl._create_unverified_context()
response = urlopen(json_url, context=context)

from urllib.request import urlopen
import ssl  # 解决步骤1
import json
json_url = "https://raw.githubusercontent.com/muxuezi/btc/master/btc_close_2017.json"
context = ssl._create_unverified_context()  # 解决步骤2
response = urlopen(json_url, context=context)  # 解决步骤3
# 读取数据
req = response.read()
# 将数据写入文件
with open('btc_close_2017_urllib.json', 'wb') as f:
    f.write(req)
# 加载json格式
file_urllib = json.loads(req)
print(file_urllib)

方案2:全局取消证书验证

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

from urllib.request import urlopen
import ssl  # 解决步骤1
import json
json_url = "https://raw.githubusercontent.com/muxuezi/btc/master/btc_close_2017.json"
ssl._create_default_https_context = ssl._create_unverified_context  # 解决步骤2
response = urlopen(json_url)
# 读取数据
req = response.read()
# 将数据写入文件
with open('btc_close_2017_urllib.json', 'wb') as f:
    f.write(req)
# 加载json格式
file_urllib = json.loads(req)
print(file_urllib)
  • certificate verify failed 解决方法
  • certificate verify failed
  • Python--urlopen error
  • 最后编辑于:2019-07-02 12:20