带有证书文件的Python发布请求失败,说明“无法获取本地发行者证书(_ssl.c:1056)”

时间:2019-03-13 15:19:27

标签: python-3.x ssl-certificate

对安全站点进行API调用是新手。

我使用python 3.7对安全站点进行api调用。当我未在requests.get中指定“ verify”参数时,调用成功,但是当我将“ verify”参数指定为包含证书的文件夹时,调用将失败,说明“无法获取本地发行者证书”(_ssl.c:1056) '。我刚开始打这些电话,所以不确定我的期望是不正确还是我不正确。

步骤:

  1. 执行了不带“ verify”参数的requests.get('https://github.com'),并且此操作成功。 结果:

  2. 使用'verify = False'参数执行了request.get('https://github.com',verify = False),并在警告后成功执行。 结果:InsecureRequestWarning:发出未经验证的HTTPS请求...

  3. 现在,我通过单击浏览器URL(https://github.com)打开证书,并将证书导出到位置“ c:\ certs”。以所有3种可用格式导出的证书“ DER编码的二进制x.509 .cer”,“ BAse 64编码的x.509 cer”和“加密消息语法标准pkcs#7 .p7b” 现在,当我执行requests.get('https://github.com',verify ='c:\ certs')时,呼叫失败,说明“ [SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地发行者证书(_ssl.c: 1056)')'

    我希望在使用公共密钥放置证书后的第3步中,get调用应该会成功。 为什么步骤3中的呼叫失败,我是否在步骤3中提供了包含公钥的不合法证书?还是我的期望不正确?

请协助。

0 个答案:

没有答案