相关疑难解决方法(0)

在python中使用请求时无法获取本地颁发者证书

这是我的代码

import requests;
url='that website';
headers={
  'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
  'Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7',
  'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
};
r = requests.get(url,headers=headers);
print(r);
print(r.status_code);
Run Code Online (Sandbox Code Playgroud)

然后它遇到了这个:

requests.exceptions.SSLError:

HTTPSConnectionPool(host='www.xxxxxx.com', port=44 3):

url: xxxxxxxx 超出最大重试次数(由 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]

证书验证失败:无法获得本地颁发者证书 (_ssl.c:1045)')))

我该怎么办?

python python-requests

47
推荐指数
6
解决办法
10万
查看次数

Python请求 - 如何使用系统ca证书(debian/ubuntu)?

我已经在debian中安装了一个自签名的root ca证书/usr/share/ca-certificates/local并安装了它们sudo dpkg-reconfigure ca-certificates.在这一点上true | gnutls-cli mysite.local很高兴,并且true | openssl s_client -connect mysite.local:443很高兴,但是python2和python3请求模块坚持认为它对证书不满意.

python2:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 70, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/adapters.py", line 497, in send
    raise …
Run Code Online (Sandbox Code Playgroud)

python ssl debian debian-based python-requests

23
推荐指数
5
解决办法
4万
查看次数

标签 统计

python ×2

python-requests ×2

debian ×1

debian-based ×1

ssl ×1