在 Python 请求中禁用安全证书检查
为了防止在使用 Python 的 requests 库时访问证书过期的网站时出现 SSL 错误,验证标志可以设置为 False。默认情况下,请求会验证服务器的 SSL 证书以确保安全连接,但此验证可以被绕过。
要禁用证书验证,只需将 verify=False 作为参数传递给 post 方法:
<code class="python">import requests requests.post(url='https://foo.example', data={'bar':'baz'}, verify=False)</code>
使用上下文管理器进行持久禁用
如果需要永久禁用所有请求的证书验证,可以使用上下文管理器:
<code class="python">import requests from urllib3.exceptions import InsecureRequestWarning import contextlib @contextlib.contextmanager def no_ssl_verification(): warnings.simplefilter('ignore', InsecureRequestWarning) old_settings = requests.Session.merge_environment_settings requests.Session.merge_environment_settings = lambda *args, **kwargs: (dict(args[5] or {}), False) try: yield finally: requests.Session.merge_environment_settings = old_settings with no_ssl_verification(): requests.get('https://wrong.host.badssl.example/')</code>
注意事项
请记住,禁用证书验证会削弱应用程序的安全性。建议仅在访问您信任的网站或在安全性不是主要问题的受控环境中时才这样做。
以上是如何在 Python 请求中禁用 SSL 证书检查?的详细内容。更多信息请关注PHP中文网其他相关文章!