2016-09-28 158 views
1

這不是this questionrequests.exceptions.SSLError:SSL:CERTIFICATE_VERIFY_FAILED]證書驗證失敗(_ssl.c:600)

重複我檢查this但去不安全的方式並不看起來不錯我。

我正在研究python中的圖像大小fetcher,它將獲取網頁上的圖像大小。在這之前,我需要獲取網頁狀態碼。我試圖做這樣

import requests 

hdrs = {'User-Agent': 'Mozilla/5.0 (X11 Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'} 


urlResponse = requests.get(
    'http://aucoe.info/', verify=True, headers=hdrs) 
print(urlResponse.status_code) 

這給了錯誤:

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

我試圖改變verify=True

verify='/etc/ssl/certs/ca-certificates.crt'

verify='/etc/ssl/certs'

但它仍然給出相同的錯誤。 我需要獲得超過5000個URL的狀態代碼。請幫助我。 在此先感謝。

Python版本: 3.4

請求版本:請求== 2.11.1

OS:的Ubuntu 14.04

pyOpenSSL: 0.13

的OpenSSL版本:的OpenSSL 1.0.1f 2014年1月6日

回答

3

您需要下載GoDaddy的根證書,可在this site,然後把它作爲一個參數verify,像這樣:

>>> r = requests.get('https://aucoe.info', verify='/path/to/gd_bundle-g2-g1.crt') 
>>> r.status_code 
200 

如果你會執行多個請求時,您可能需要將SSL配置爲會話的一部分,如documentation中突出顯示的那樣。

+0

謝謝!你救了我的一天:) –

相關問題