[英]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.