[英]Authentication failed: [Errno 1] _ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
[英]SSL error : routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
我在txt
文件中有大量的文件下载链接。 我试图写一个python
脚本一次下载所有文件,但我最终得到以下错误:
SSLError: [Errno 1] _ssl.c:499: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
该文件正通过Intranet下载。
我试图通过浏览器下载文件,然后弹出some certificate
。 我试图谷歌它,但没有找到解决这个问题的方法。
服务器证书无效,原因是它由无效的CA(内部CA,自签名,...)签名,与服务器名称不匹配或因为它已过期。
无论哪种方式,您需要找到如何告诉Python库您正在使用它如果您真的想要从此服务器下载文件,它必须不会停在无效的证书上。
在使用requests
时亲自体验过:
这是非常不安全的; 仅作为最后的手段使用! (见rdlowrey的评论。)
requests.get('https://github.com', verify=True)
使verify=False
对我来说是个窍门。
今天遇到这个问题,经过几个小时的漫游后才知道我的服务器日期时间错了。
因此,首先请检查您的服务器日期时间,然后再深入研究此问题。
也试着去做
>> sudo update-ca-certificates
最近在一个python应用程序中使用ubuntu 14.04LTS上的请求得到了同样的错误,我认为一直运行正常(可能是它并且发生了一些更新)。 执行以下步骤为我修复了它:
pip install --upgrade setuptools
pip install -U requests[security]
这是一个参考: https : //stackoverflow.com/a/39580231/996117
当你的当地时间关闭时(例如在证书验证时间之前)也可能发生,我的错误就是这种情况......
由于certifi
库,我遇到了同样的问题。 安装不同的版本对我也有帮助。
通常更新certifi和/或certifi cacert.pem
文件将起作用。 我还必须更新我的python版本。 比。 由于处理SNI请求的方式,2.7.5无法正常工作。
获得最新的pem文件后,您可以使用以下命令发出http请求:
requests.get(url, verify='/path/to/cacert.pem')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.