【发布时间】:2018-06-21 12:13:40
【问题描述】:
我正在使用登录服务器的请求,但收到以下错误:
[2018-01-12 11:56:43,931] {base_task_runner.py:95} 信息 - 子任务:requests.exceptions.ConnectionError: HTTPConnectionPool(host='XX.XX.XX.XX', port=80) : url: /public-api/sign-in 超过了最大重试次数(由 NewConnectionError(': 无法建立新连接: [Errno 111] Connection denied',))
我在 stackoverflow 和 Google 上进行了搜索。而且我尝试了很多方法:
- 设置keep_alive = False
- 设置标题:Coonection = 'close'
- 添加重试和休眠。
- 重启服务器和客户端。
错误还是一样。
有人可以帮忙吗?
我正在使用 Python 3.6.3。该脚本用于气流。
代码如下:
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
s = requests.Session()
retry = Retry(connect = 5, backoff_factor = 1)
adapter = HTTPAdapter(max_retries = retry)
s.mount('http://', adapter)
s.keep_alive = False
res = s.post(self.conn.host + '/sign-in', data = json.dumps({
'name': "XXX",
'pwd': "XXX"
}))
response = res.json()
【问题讨论】:
-
用 curl 试试这个请求,看看它是否有效。或者用 httpbin 试试。这里没有任何内容表明请求工作不正确。
-
如果您收到“连接被拒绝”,除了主机和端口之外,您的请求没有任何影响。这发生在套接字级别。附议“用 curl 试试”,但我敢打赌它不会起作用,而且你的主机或端口有误,或者有一些防火墙正在运行。
-
我尝试了 curl 并解决了它。当我在那台机器上卷曲但在另一台机器上成功时它失败了。
标签: python-3.x python-requests airflow apache-airflow airflow-scheduler