如何在Python中处理请求异常

时间:2015-12-31 16:12:30

标签: python python-2.7 exception-handling python-requests

我正在使用循环内的请求进行多个RESTful API调用。我想安全地处理异常,而不停止脚本。这是我的代码:

try:
    r = requests.get(url)
except requests.exceptions as e:
    print("ERROR: Requests exception: %s" % e)
if 'json' in r.headers['Content-Type']:
    return r.json()

这种方法有一段时间了,但是在第二行上使用此回溯失败了。 except子句没有捕获异常。

  File "C:\Python27\myfiles\callAPI.py", line 82, in getAPI
    r = requests.get(url)
  File "C:\Python27\lib\site-packages\requests\api.py", line 67, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Python27\lib\site-packages\requests\api.py", line 53, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Python27\lib\site-packages\requests_cache\core.py", line 128, in request
    **kwargs
  File "C:\Python27\lib\site-packages\requests\sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python27\lib\site-packages\requests_cache\core.py", line 101, in send
    return send_request_and_cache_response()
  File "C:\Python27\lib\site-packages\requests_cache\core.py", line 93, in send_request_and_cache_response
    response = super(CachedSession, self).send(request, **kwargs)
  File "C:\Python27\lib\site-packages\requests\sessions.py", line 608, in send
    r.content
  File "C:\Python27\lib\site-packages\requests\models.py", line 737, in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
  File "C:\Python27\lib\site-packages\requests\models.py", line 663, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))

我怎样才能安全地处理这个?

0 个答案:

没有答案