requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:600)

Om *_*ash 2 python ssl ssl-certificate python-3.x python-requests

这不是这个问题的重复

我检查了这个,但不安全的方式对我来说并不好看。

我正在使用 python 中的图像大小获取器,它将获取网页上的图像大小。在此之前,我需要获取网页状态代码。我试过这样做

import requests

hdrs = {'User-Agent': 'Mozilla / 5.0 (X11 Linux x86_64) AppleWebKit / 537.36 (KHTML, like Gecko) Chrome / 52.0.2743.116 Safari / 537.36'}


urlResponse = requests.get(
    'http://aucoe.info/', verify=True, headers=hdrs)
print(urlResponse.status_code)
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:600)

我试图改变verify=True

verify='/etc/ssl/certs/ca-certificates.crt'

verify='/etc/ssl/certs'

但它仍然给出同样的错误。我需要获取 5000 多个 url 的状态代码。请帮助我。提前致谢。

Python 版本: 3.4

请求版本:请求==2.11.1

操作系统: Ubuntu 14.04

pyOpenSSL: 0.13

openssl 版本: OpenSSL 1.0.1f 2014 年 1 月 6 日

Bur*_*lid 5

您需要下载此站点上提供的 GoDaddy 根证书,然后将其作为参数传递给verify,如下所示:

>>> r = requests.get('https://aucoe.info', verify='/path/to/gd_bundle-g2-g1.crt')
>>> r.status_code
200
Run Code Online (Sandbox Code Playgroud)

如果您将执行多个请求,您可能希望将 SSL 配置为会话的一部分,如文档中突出显示的那样。