首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 3.6禁用SSL (verify=False)不起作用

Python 3.6禁用SSL (verify=False)不起作用是因为在Python 3.6版本中,对于不受信任的SSL证书,默认情况下会抛出一个SSL错误,无法通过设置verify=False参数来禁用SSL验证。

为了解决这个问题,可以使用以下方法之一:

  1. 使用自定义的SSL证书:可以通过将自定义的SSL证书添加到Python的信任证书列表中来解决此问题。首先,将自定义证书文件(.pem或.crt格式)下载到本地。然后,使用ssl.create_default_context()方法创建一个SSL上下文,并使用load_verify_locations()方法加载自定义证书文件。最后,将该SSL上下文传递给requests库的verify参数。

示例代码如下:

代码语言:txt
复制
import requests
import ssl

# 自定义证书文件路径
custom_cert_file = '/path/to/custom_cert.pem'

# 创建SSL上下文并加载自定义证书
ssl_context = ssl.create_default_context()
ssl_context.load_verify_locations(custom_cert_file)

# 发送请求时传递SSL上下文
response = requests.get('https://example.com', verify=ssl_context)
  1. 禁用SSL验证:如果你确定请求的目标网站是可信的,并且不需要进行SSL验证,可以使用以下方法禁用SSL验证。但请注意,这会降低安全性,不建议在生产环境中使用。

示例代码如下:

代码语言:txt
复制
import requests
import urllib3

# 禁用SSL警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

# 发送请求时禁用SSL验证
response = requests.get('https://example.com', verify=False)

需要注意的是,禁用SSL验证可能会导致安全风险,因此建议仅在开发和测试环境中使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券