您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页关于 Python 3.6 及以上发送 HTTPS 请求的证书验

关于 Python 3.6 及以上发送 HTTPS 请求的证书验

来源:伴沃教育

macOS 10.12.5

在 Python 3.6 及以上的版本中,直接发送 HTTPS 请求,会出现以下问题

[SSL: CERTIFICATE_VERIFY_FAILED]

这个问题兜一圈才注意到 Python 安装目录下 ReadMe.rtf 中说明了这个问题

Certificate verification and OpenSSL

The bundled pip included with the Python 3.6 installer has its own default certificate store for verifying download connections.

也可以在支持选择证书文件的方法中手动加入,如

import urllib
import certifi

request = 
urllib.request.urlopen(request, cafile=certifi.where())

另外还有一个不推荐的方法解决这个问题
使用不验证 SSL 证书的方式发送请求

import ssl

urllib.request.urlopen(request, context=ssl._create_unverified_context())

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务