首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python :修复没有旁路的SSL_verify_failed (verify=False)

Python :修复没有旁路的SSL_verify_failed (verify=False)
EN

Stack Overflow用户
提问于 2020-03-10 21:25:17
回答 1查看 2.6K关注 0票数 0

我试图通过使用cookie验证从网站获得cookie (以及页面的其余部分)。

请求库,但在SSL证书验证中失败:

HTTPSConnectionPool(host='***host***', port=443): Max retries exceeded with url: ***url*** (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)')))

我知道(从here)我可以使用verify=False绕过它,但这是IMHO非常不安全的方式。我也知道有一种获取和解析证书的方法(从here),但是这种方式对我来说太过分了。我还应该指出,我有pip install certifi的证书分期付款,但它并没有从我的POV中做任何事情。

你知道怎么解决这个问题吗?我想要答案!

我的守则:

代码语言:javascript
复制
    import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36'
}
r = requests.get('https://secure.ulrichsw.cz/estrava/, headers=headers, verify=True)
session_id = r.cookies['PHPSESSID']
print(session_id)
EN

回答 1

Stack Overflow用户

发布于 2020-03-10 21:36:11

首先,我要说,您不想这样做,除非您是/知道远程服务器上证书的颁发者,并且您确信这是一个有效的系统。不要简单地假设它只是一个具有坏证书的合法服务(您想使用它)。

您需要对应于该证书的CA包,请遵循以下指示:

https://requests.readthedocs.io/en/stable/user/advanced/#ssl-cert-verification

提示:使用自签名证书中的.pem文件。或提供带有服务器证书的pem文件以及任何中间证书。

您还可以将verify=指向一个目录,并将所有证书都插入其中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60626159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档