这是我的代码

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);
然后它遇到了这个:

我该怎么办?

最佳答案

不建议在组织的环境中使用verify = False来使用。这实际上是禁用SSL验证。

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

  • 查找cacert.pem所在的路径-


  • import certifi
    certifi.where()
    C:\\Users\\[UserID]\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages\\certifi\\cacert.pem
    
  • 在浏览器上打开URL。从URL下载证书链,并另存为Base64编码的.cer文件。
  • 现在,在记事本中打开cacert.pem,并在最后添加每个下载的证书内容(---Begin Certificate--- *** ---End Certificate---)。
  • 09-27 23:32