Skip to content

Python CERTIFICATE_VERIFY_FAILED 错误解决方法

Published: at 11:41 AMSuggest Changes

有个项目需要用到 Python 的 requests 库,但是在请求的时候报错了

requests.exceptions.SSLError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)')))

及其恶心

解决

一个是安装 certifi

pip install certifi

然后 MacOS 下的解决方法是,运行那个命令行文件

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

但是可能还是没有效果,可以用下面的代码解决,添加到代码里面

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

测试代码

python3 -c 'import urllib.request; import ssl; ssl._create_default_https_context = ssl._create_unverified_context; print(urllib.request.urlopen("https://localhost:9200").status)'

Previous Post
MySQL 事件调度器:启用和禁用
Next Post
解决 Python 错误:'lib' module has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'