SSL警告
urllib3将基于证书验证支持的级别发出几种不同的警告。这些警告表示特定情况,可以通过不同方式解决。
InsecureRequestWarning
- 当在未启用证书验证的情况下对HTTPS URL发出请求时,会发生这种情况。按照证书验证 指南解决此警告。
InsecurePlatformWarning
- 这在具有过时
ssl
模块的Python 2平台上会发生。这些较旧的ssl
模块可能导致一些不安全的请求在失败的地方成功,而安全请求的失败在他们应该成功的地方。请按照pyOpenSSL指南解决此警告。
SNIMissingWarning
- 这发生在2.7.9之前的Python 2版本上。这些较旧的版本缺少SNI支持。这可能会导致服务器出示客户端认为无效的证书。请按照pyOpenSSL指南解决此警告。
强烈建议不要进行未经验证的HTTPS请求,但是,如果您了解风险并希望禁用这些警告,则可以使用disable_warnings()
:
>>> import urllib3
>>> urllib3.disable_warnings()
或者,您可以使用标准logging
模块捕获警告:
>>> logging.captureWarnings(True)
最后,您可以通过设置PYTHONWARNINGS
环境变量或使用 -W标志在解释器级别抑制警告 。