我如何捕获SSL:CERTIFICATE_VERIFY_FAILED错误python?

我正在使用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类来捕获它,但我需要捕获具体的错误并以不同的方式处理它们。有人可以找我解决这个问题吗?

回答:

我找到了解决方案。正在提出的异常类是urllib3.exceptions.SSLError。

以上是 我如何捕获SSL:CERTIFICATE_VERIFY_FAILED错误python? 的全部内容, 来源链接: utcz.com/qa/261098.html

回到顶部