2016-06-23 4 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); 
    }); 
}; 

으로 오류 메시지를 표시합니다. 설명서를 사용합니다. 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 상태 코드를 반환합니다 호스트와

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

: 아래의 상태 코드 (200)를 얻기 위해 'www.google.com'나는 상태 코드 (200)를 얻는다. 하지만 'www.'를 제거 할 때만 host : 'stackoverflow.com'을 사용하십시오. 상태 코드 200이 표시됩니다.

이 문제가있는 사람은 누구나 'www. 적절한 결과를 얻을 수 있습니다.