2016-06-23 5 views
1
var http = require('http'); 
exports.get = function(){ 
    var options = { 
    host: 'http://stackoverflow.com/' 
    }; 

    http.get(options, function(res) { 
    console.log("Got response: " + res.statusCode); 
    }).on('error', function(e) { 
    console.log("Got error: " + e.message); 
    }); 
}; 

дает мне ошибку как Got error: getaddrinfo ENOTFOUND http://stackoverflow.com/ http://stackoverflow.com/:80 я использую документацию; https://nodejs.org/docs/v0.5.2/api/http.html#request.urlHTTP GET в nodejs

В чем может быть проблема, я добавил номер порта в качестве опции;

var options = { 
    host: 'http://stackoverflow.com/' 
    port:443 //also port:8080, port:80, port: 8118 
}; 

но все еще нет решения. Это о корпоративном прокси?

Как связаться с нами?

+0

Посмотрите на использование модуля запроса: https://github.com/request/request – MrWillihog

ответ

3

Хост не URL. Попробуйте

stackoverflow.com для хоста.

var options = { 
    host: 'stackoverflow.com', 
    port: 80, 
    path: '/', 
    method: 'GET' 
}; 

var req = http.request(options, function(res) { 
    console.log('STATUS: ' + res.statusCode); 
    console.log('HEADERS: ' + JSON.stringify(res.headers)); 
    ... 
+0

Я написал в качестве вашего примера, но он по-прежнему дает мне «uncaughtException: getaddrinfo ENOTFOUND», что может быть причиной? – user6468132

+0

Возможно, проблемы с сетью? Попробуйте 'curl http: // stackoverflow.com' из командной строки. –

0

Эта проблема иногда возникает в зависимости от хостов, некоторые хосты, как «stackoverflow.com» могут вернуть 200, а в некоторых случаях, как «google.com», скорее всего, вернутся 301 кода состояния, так что вы должны заполнить переменный хост как ниже, чтобы получить код состояния 200:

var options = { 
    host: 'www.google.com', 
    port: 80, 
    path: '/', 
    method: 'GET' 
}; 

с хозяином: 'www.google.com' Я получаю 200 для кода состояния. , но с хостом: «stackoverflow.com», только когда я удаляю «www.» Я получу код состояния 200.

любой, у кого есть эта проблема, вы должны попробовать как с, так и без «www.». чтобы получить правильный результат.

 Смежные вопросы

  • Нет связанных вопросов^_^