Errno 101网络无法访问

时间:2015-10-12 17:18:05

标签: python error-handling

突然间我从我的代码中得到以下错误,前一段时间它运行得很好。它是由互联网连接引起的吗?

 #Get data checkpoint size
url = 'http://url:8080/vrio/blk'
r = requests.get(url)
data = r.json()



def counterVolume_one():
  wanted = {'Bytes_Written', 'Bytes_Written', 'IO_Operation'}
  for d in data['Block Devices'].itervalues():
    values = {k: v for k, v in d.iteritems() if k in wanted}
    print json.dumps(values)



Traceback (most recent call last):
  File "hyper.py", line 31, in <module>
    r = requests.get(url)
  File "/usr/lib/python2.7/dist-packages/requests/api.py", line 55, in get
    return request('get', url, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 455, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 558, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 378, in send
    raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='http://url', port=8080): Max retries exceeded with url: /vrio/blk (Caused by <class 'socket.error'>: [Errno 101] Network is unreachable)

1 个答案:

答案 0 :(得分:0)

尝试在请求块中声明超时,即;

r = requests.get(url, timeout=20)

通过这样做,你最有可能摆脱这个错误:)