建立新连接失败

moh*_*uky 2 python python-2.7 ubuntu-14.04

import requests

url = 'http://ES_search_demo.com/document/record/_search?pretty=true'
data = '{"query":{"bool":{"must":[{"text":{"record.document":"SOME_JOURNAL"}},{"text":{"record.articleTitle":"farmers"}}],"must_not":[],"should":[]}},"from":0,"size":50,"sort":[],"facets":{}}'
response = requests.get(url, data=data)
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我收到此错误

    Traceback (most recent call last):
  File "simpleclient.py", line 6, in <module>
    response = requests.get(url, data=data)
  File "/home/ryan/local/lib/python2.7/site-packages/requests/api.py", line 70, in get
    return request('get', url, params=params, **kwargs)
  File "/home/ryan/local/lib/python2.7/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/ryan/local/lib/python2.7/site-packages/requests/sessions.py", line 471, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/ryan/local/lib/python2.7/site-packages/requests/sessions.py", line 581, in send
    r = adapter.send(request, **kwargs)
  File "/home/ryan/local/lib/python2.7/site-packages/requests/adapters.py", line 481, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='es_search_demo.com', port=80): Max retries exceeded with url: /document/record/_search?pretty=true (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f544af9a5d0>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Run Code Online (Sandbox Code Playgroud)

mir*_*ixx 7

NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f8f95d196d0>: 建立新连接失败:[Errno -5] 没有与主机名关联的地址',))

这意味着您的计算机所连接的域名服务器 (DNS) 不知道给定的主机。

但是如果我们检查域名,就会一个有效的 IP 地址。

$ nslookup mmsdemo.cloudapp.net
(...)

Non-authoritative answer:
Name:   mmsdemo.cloudapp.net
Address: 40.113.108.105
Run Code Online (Sandbox Code Playgroud)

因此,该错误很可能意味着没有连接到互联网。因此,检查互联网连接是否设置正确(在运行您的代码的机器上,更具体地说,以便 python 可以使用它)。

更新

我的回答是指原始问题,其中提到了不同的域。现在问题中引用的域是未知的:

$ nslookup es_search_demo.com
(...)

** server can't find es_search_demo.com: NXDOMAIN
Run Code Online (Sandbox Code Playgroud)