处理[Errno 111]连接被烧瓶中的请求拒绝返回
问题描述:
我有用java开发的后端,它可以进行各种处理。我的前端是使用python的瓶颈框架开发的。我正在使用requests发送请求并获得java中apis的响应。处理[Errno 111]连接被烧瓶中的请求拒绝返回
以下是我的代码确实该行:
req = requests.post(buildApiUrl.getUrl('user') + "/login", data=payload)
我的问题是,有时,当Tomcat实例未运行或存在某些问题的Java API,我总是从请求错误如下:
ERROR:root:HTTPConnectionPool(host='localhost', port=8080): Max retries exceeded with url: /MYAPP/V1.0/user/login (Caused by <class 'socket.error'>: [Errno 111] Connection refused)
Traceback (most recent call last):
File "/home/rahul/git/myapp/webapp/views/utils.py", line 31, in decorated_view
return_value = func(*args, **kwargs)
File "/home/rahul/git/myapp/webapp/views/public.py", line 37, in login
req = requests.post(buildApiUrl.getUrl('user') + "/login", data=payload)
File "/home/rahul/git/myapp/venv/local/lib/python2.7/site-packages/requests/api.py", line 88, in post
return request('post', url, data=data, **kwargs)
File "/home/rahul/git/myapp/venv/local/lib/python2.7/site-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/home/rahul/git/myapp/venv/local/lib/python2.7/site-packages/requests/sessions.py", line 335, in request
resp = self.send(prep, **send_kwargs)
File "/home/rahul/git/myapp/venv/local/lib/python2.7/site-packages/requests/sessions.py", line 438, in send
r = adapter.send(request, **kwargs)
File "/home/rahul/git/myapp/venv/local/lib/python2.7/site-packages/requests/adapters.py", line 327, in send
raise ConnectionError(e)
ConnectionError: HTTPConnectionPool(host='localhost', port=8080): Max retries exceeded with url: /MYAPP/V1.0/user/login (Caused by <class 'socket.error'>: [Errno 111] Connection refused)
我要处理,我接受我的烧瓶应用程序错误等情况,这样我可以给网页,而不是显示空白屏幕上进行必要的回应。那么我怎么能做到这一点?异常request.post提出使用try-except
答
陷阱:
try:
req = requests.post(buildApiUrl.getUrl('user') + "/login", data=payload)
except requests.exceptions.RequestException:
# Handle exception ..
感谢。在想同样的事情,但想确认。 – srahul07