gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 12:11:31 24 4
gpt4 key购买 nike

这是我的代码

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);

然后它遇到了这个:

requests.exceptions.SSLError:

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

Max retries exceeded with url: xxxxxxxx (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]

certificate verify failed: unable to get local issuer certificate(_ssl.c:1045)')))

我该怎么办?

最佳答案

不推荐在您组织的环境中使用verify = False。这实际上是禁用 SSL 验证。

有时,当您使用公司代理时,它会将证书链替换为 Proxy 的证书链。在 certifi 使用的 cacert.pem 中添加证书应该可以解决问题。我有类似的问题。这是我为解决问题所做的 -

  1. 找到cacert.pem所在的路径-

Install certifi, if you don't have. Command: pip install certifi

import certifi
certifi.where()
C:\\Users\\[UserID]\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages\\certifi\\cacert.pem
  1. 在浏览器上打开 URL。从 URL 下载证书链并保存为 Base64 编码的 .cer 文件。

  2. 现在在记事本中打开 cacert.pem 并添加每个下载的证书内容(---Begin Certificate--- *** ---End Certificate---)在最后。

关于python - 在 python 中使用请求时无法获取本地颁发者证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51925384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com