python使用requests发送请求时验证SSL证书

2023-03-11 00:00:00 发送 请求 证书

在 Python 的 requests 库中,可以使用 verify 参数验证 SSL 证书。该参数接受一个布尔值或一个字符串,指示是否验证 SSL 证书。如果值为 True,则验证证书;如果值为 False,则不验证证书。如果值为字符串,则表示证书的路径或 CA bundle 文件的路径。

以下是发送 HTTPS 请求时使用 SSL 证书验证的示例:

import requests

url = 'https://pidancode.com'
response = requests.get(url, verify=True)

在此示例中,我们使用 get 方法发送了一个 HTTPS 请求,并在 verify 参数中设置为 True,表示验证 SSL 证书。由于我们未提供证书路径或 CA bundle 文件的路径,因此 requests 库将使用系统默认的 CA bundle 文件进行验证。

如果您想使用自己的证书进行验证,可以在 verify 参数中指定证书路径。例如:

import requests

url = 'https://pidancode.com'
cert = ('/path/to/cert.pem', '/path/to/key.pem')
response = requests.get(url, verify=True, cert=cert)

在此示例中,我们还使用 cert 参数设置了证书路径。我们提供了一个包含证书文件路径和密钥文件路径的元组对象,并将其传递给 cert 参数。这将告诉 requests 库使用指定的证书进行 SSL 验证。

请注意,如果您使用的是自签名证书或其他不受信任的证书,则应将 verify 参数设置为 False,以避免 SSL 验证失败。这会使您的应用程序容易受到中间人攻击的风险。

相关文章