0
我正在使用urllib3.PoolManager來發出http請求。而在我的代碼中的一些部分我使用此代碼,以請求我如何捕獲SSL:CERTIFICATE_VERIFY_FAILED錯誤python?
resp = h.request(self.method, self.url, body=body, headers=headers, timeout=TIMEOUT, retries=retries)
,我碰到一個錯誤SSL:CERTIFICATE_VERIFY_FAILED。以下是完整的堆棧跟蹤。
File "/lib/python2.7/site-packages/urllib3/request.py", line 69, in request
**urlopen_kw)
File "/lib/python2.7/site-packages/urllib3/request.py", line 90, in request_encode_url
return self.urlopen(method, url, **extra_kw)
File "/lib/python2.7/site-packages/urllib3/poolmanager.py", line 248, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "/lib/python2.7/site-packages/urllib3/connectionpool.py", line 621, in urlopen
raise SSLError(e)
[SSL: CERTIFICATE_VERIFY_FAILED]
錯誤是預期的。但問題是我無法趕上嘗試除了塊的錯誤。
我試圖用
except ssl.SSLError:
但是,這並不趕上這個錯誤。 我也試過ssl.CertificateError但沒有結果。 我可以通過使用Exception類來捕獲它,但我需要捕獲具體的錯誤並以不同的方式處理它們。有人可以找我解決這個問題嗎?