我無法請求一個流行的SSL站點,但不會產生錯誤[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
。requests.exceptions.SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]證書驗證失敗
By default Requests bundles a set of root CAs that it trusts, sourced from the Mozilla trust store. However, these are only updated once for each Requests version. This means that if you pin a Requests version your certificates can become extremely out of date.
由於這是一個受歡迎的網站應該是在店裏,當我用verify=True
,但是它不斷失敗的請求。我也嘗試過使用其他SSL地址,但也會因此錯誤而失敗。
import requests
headers = {
'User-agent': 'Mozilla/5.0'
}
proxies = {
'http' : 'http://1.2.3.4:80',
'https' : 'http://1.2.3.4:443'
}
r = requests.get('https://www.example.com', proxies=proxies, verify=True)
請注意,https://www.example.com是一個流行的英國新聞網站,所以它應該在CA商店。
Python版本: Python的2.7.11
請求版本:請求(2.10.0)
OS:的Windows 8
我做得基本上是錯誤的?
這可能是您的代理正在執行SSL攔截。也可能是網站的設置會導致問題。也可能是您使用舊版證書存儲區的舊版本的請求。不幸的是,不可能告訴你所提供的信息出了什麼問題,因爲基本上你只是告訴你正在使用一些未知版本的請求,而某些未知代理訪問某個未知網站。除此之外,對於http和https有不同的代理設置,並且https代理在端口443上運行等是不常見的。 –
我已經在版本中添加了它,它是最新版本。可能是代理正在像你所提到的那樣進行一些攔截。 –
我決定它必須是使用SSL檢查的代理。 –