getaddrinfo ENOENT ошибка из HTTP-запроса на узле.js [дубликат]

этот вопрос уже есть ответ здесь:

  • NodeJS httprequest с ошибкой получения данных getaddrinfo ENOENT 8 ответов

Ниже приведен код для моего узла.Яш запроса HTTP-ответа.

Как только я использую веб-сайт, который я явно знаю, не существует, сообщение об ошибке уведомит меня об ошибке: getaddrinfo ENOENT

Я хочу узнать больше об этой ошибке. Что порождает его? В чем суть ошибки? Бы 404' икру?

var hostNames = ['www.pageefef.com'];

for (i; i < hostNames.length; i++){

    var options = {
            host: hostNames[i],
            path: '/'
    };

  (function (i){
    http.get(options, function(res) {

      var obj = {};
      obj.url = hostNames[i];
      obj.statusCode = res.statusCode;
      // obj.headers = res.headers;

      console.log(JSON.stringify(obj, null, 4));
    }).on('error',function(e){
      console.log("Error: " + hostNames[i] + "n" + e.message);
    });
  })(i);
};

1 ответов


Вы можете сделать это, чтобы получить более подробную информацию об ошибке.

.on('error',function(e){
   console.log("Error: " + hostNames[i] + "\n" + e.message); 
   console.log( e.stack );
});

Если вы даете несуществующий url, то возвращает код :

getaddrinfo ENOTFOUND
Error: getaddrinfo ENOTFOUND
    at errnoException (dns.js:37:11)
    at Object.onanswer [as oncomplete] (dns.js:124:16)

ошибка возникает из http.Класс ClientRequest по http.запрос.)( Никаких 404 не будет генерировать эту ошибку. Ошибка 404 означает, что клиент смог связаться с сервером, но сервер не смог найти то, что было запрошено. Эта ошибка означает, что системе доменных имен не удалось найти адрес (dns.JS-это для NAPTR запросы).