2013-03-08 17 views
9

Was bedeutet dieser Python Fehler bedeutet? Bedeutet dies, dass es versucht, sich mit dem Server zu verbinden und nicht konnte? Was bedeutet [Errno 8] nodename nor servname provided, or not known?Was bedeutet dieser Python-Fehler?

File "python2.7/site-packages/requests/api.py", line 55, in get

File "python2.7/site-packages/requests/api.py", line 44, in request

File "python2.7/site-packages/requests/sessions.py", line 279, in request

File "python2.7/site-packages/requests/sessions.py", line 374, in send

File "python2.7/site-packages/requests/adapters.py", line 209, in send

ConnectionError: HTTPConnectionPool(host='localhost', port=8091): Max retries exceeded with url: /pools/default (Caused by : [Errno 8] nodename nor servname provided, or not known

Der Code generiert dies: http://github.com...

class RestConnection(object): 
    def __init__(self, serverInfo): 
     #serverInfo can be a json object 
     if isinstance(serverInfo, dict): 
      self.ip = serverInfo["ip"] 
      self.username = serverInfo["username"] 
      self.password = serverInfo["password"] 
      self.port = serverInfo["port"] 
      self.couch_api_base = serverInfo.get("couchApiBase") 
     else: 
      self.ip = serverInfo.ip 
      self.username = serverInfo.rest_username 
      self.password = serverInfo.rest_password 
      self.port = serverInfo.port 
      self.couch_api_base = None 

     self.base_url = "http://{0}:{1}".format(self.ip, self.port) 
     server_config_uri = ''.join([self.base_url, '/pools/default']) 
     self.config = requests.get(server_config_uri).json() 
     # if couchApiBase is not set earlier, let's look it up 
     if self.couch_api_base is None: 
      #couchApiBase is not in node config before Couchbase Server 2.0 
      self.couch_api_base = self.config["nodes"][0].get("couchApiBase") 

FYI, Dieser Fehler aus der Couchbase Python-Client generiert wird.

+1

Könnten Sie etwas Umgebungscode einfügen, der es ausgelöst hat? – Ivo

Antwort

3

Dies bedeutet, dass die DNS-Suche nach dem Hostnamen, auf den Sie zugreifen möchten, fehlgeschlagen ist. Zum Beispiel habe ich den gleichen Fehler, wenn ich versuche, einen ungültigen Hostnamen zu suchen:

>>> import requests 
>>> requests.get('http://apsoapsodjaopisjdaoij.com') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 65, in get 
    return request('get', url, **kwargs) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/safe_mode.py", line 39, in wrapped 
    return function(method, url, **kwargs) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 51, in request 
    return session.request(method=method, url=url, **kwargs) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 241, in request 
    r.send(prefetch=prefetch) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/models.py", line 631, in send 
    raise ConnectionError(sockerr) 
requests.exceptions.ConnectionError: [Errno 8] nodename nor servname provided, or not known 

Überprüfen Sie den Wert von serverInfo["ip"] und stellen Sie sicher, dass es richtig eingestellt ist.

+0

Es ist richtig eingestellt auf 'http: // localhost: 8091/Pools/default' – Cory

+0

Funktioniert es mit IP-Adresse? –