Что означает эта ошибка Python?
Что означает эта ошибка Python? Означает ли это, что он пытается подключиться к серверу и не может? Что означает [Errno 8] nodename nor servname provided, or not known
?
Файл "python2.7/site-packages/requests/api.py", строка 55, в get
Файл "python2.7/site-packages/requests/api.py", строка 44, в запросе
Файл "python2.7/site-packages/requests/sessions.py", строка 279, в Запрос
Файл "python2.7/site-packages/requests/sessions.py", строка 374, в отправить
Файл "python2.7/site-packages/requests/adapters.py", строка 209, в отправить
ConnectionError: HTTPConnectionPool (host = 'localhost', port = 8091): Max повторы превышены с url:/pools/default (вызвано: [Errno 8] nodename или servname предоставлено, или нет Известно
Код сгенерировал это: 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 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. Эта ошибка генерируется клиентом Couchbase Python.
Ответы
Ответ 1
Это означает, что поиск DNS имени хоста, к которому вы пытаетесь получить доступ, невозможен. Например, я получаю ту же ошибку, если попытаюсь найти недопустимое имя хоста:
>>> 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
Проверьте значение serverInfo["ip"]
и убедитесь, что оно установлено правильно.
Ответ 2
Добавляю свой опыт для тех, кто переживает это в будущем.
Оказывается, это на самом деле потому, что я достиг максимального количества открытых файлов в моей системе. Это не имеет ничего общего с ошибочными подключениями или даже ошибкой DNS, как указано.