【问题标题】:Python requests intermittent error `ConnectionError: ('Connection aborted.', BadStatusLine("''",))`Python 请求间歇性错误 `ConnectionError: ('Connection aborted.', BadStatusLine("''",))`
【发布时间】:2019-09-02 02:32:26
【问题描述】:

之前Service-A ===> Service-B正常工作https

现在Service-A ===> Service-B结束http

我已确定 service A 已配置为使用 http 进行请求,但出现以下错误:

[2019-09-02 02:15:11,579] ERROR in app: Exception on /api/users [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./app/view/__init__.py", line 243, in decorated_function
    return make_request()
  File "./app/view/__init__.py", line 222, in make_request
    response = f(parsed_params)
....
REDACTED
....
  File "./app/user.py", line 620, in create_user
    headers=cls._USER_AGENT_HEADER
  File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 112, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 490, in send
    raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', BadStatusLine("''",))

如果我将协议设置回 https,我会收到 Unknown SSLProtocol 错误,因此 Service-B 肯定在 http 上。

User-Agent 标头设置正确。我尝试将其修改为空标题和web browser 标题,但似乎没有任何影响。

错误似乎是间歇性发生的,并且错误的频率各不相同。

请求版本:2.18.4

【问题讨论】:

  • 您可以使用 PostmanInsomnia 之类的方式在 /api/usersPOST 请求吗?那么你通过 http 得到了什么?
  • 抱歉回复晚了。我已经设置了 Postman 并针对实例发出了 GET 请求。看起来有些实例是响应式的,有些则不是。可能是因为移除了负载均衡器,但我还不确定。
  • 邮递员错误Could not get any response

标签: python-2.7 python-requests


【解决方案1】:

这是一个服务发现问题。使用registrator 时,两个容器/服务注册了相同的名称。需要更改 docker-compose 文件

【讨论】:

    猜你喜欢
    • 2018-11-18
    • 2016-01-15
    • 2023-03-30
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多