2017-02-14 2 views
0

간단한 nodejs 응용 프로그램을 개발 중입니다. 해당 응용 프로그램에서 REST API 호출을 만들려고하는데 REST API에 기본 인증이 있습니다. "ERRORError : getaddrinfo ENOTFOUND" stackoverflow에 제안 된 옵션으로 시도했지만 작동하지 못했습니다. 사람이 this..Here에 저를 도와 주실 수있는 것은
감사
VHC노드에서 타사 휴식 API 호출

+0

[Node.js getaddrinfo ENOTFOUND] (http://stackoverflow.com/questions/17690803/node-js-getaddrinfo-enotfound) – ThomasThiebaud

+0

토마 스의 가능한 복제본 ... 나는 stackoverflow에서 발견 한 모든 가능한 방법을 시도했다. 나는 핑 (ping)도 할 수 없다. 나는 핑 (ping) www.google.com을 시도했다. 모든 핑에 대해 연결 시간 초과 오류가 발생했습니다 – user1948228

+0

URL을 공유 할 수 있습니까? – ThomasThiebaud

답변

0

www.google.com가 유효한 URL이 아닙니다 사전에 내가`

var http = require('http'); 

var url = 'someurl'; 
var username = 'username'; 
var password = 'password'; 
var optionsget = { 
    host: 'someurl', 
    method: 'GET', 
    auth: username + ':' + password, 
    headers: { 
    'Accept': 'application/json', 
    'Content-Type': 'application/json' 
    } 
}; 

console.log('Do the GET call'); 

// do the GET request 
var reqGet = http.get(optionsget, function(res) { 
    console.log("Hii"); 
    console.log("statusCode: ", res.statusCode); 

    res.on('data', function(d) { 
     console.info('GET result:\n'); 
     process.stdout.write(d); 
     console.info('\n\nCall completed'); 
    }); 

}); 

reqGet.end(); 
reqGet.on('error', function(e) { 
    console.error("ERROR" +e); 
}); 

감사를 사용하고있는 코드입니다. 브라우저를 사용하면 입력 할 수 있습니다 (사람들이 모든 상황에서 작동해야한다고 생각하게하는 경향이 있음). 그러나 그 이유는 브라우저가 사용자가 http://www.google.com을 입력한다고 추측했기 때문입니다.

http 모듈에는 http://www.google.com과 같은 정규화 된 URL이 필요하거나 options 개체에 호스트와 경로 및 프로토콜을 별도로 지정해야합니다. 그러나 URL을 전달하려는 경우에는 전체 URL이어야합니다. the node.js doc의 세부 정보.

+0

@ user1948228 -이 질문에 대한 답변을 얻었습니까? 그렇게했다면 답의 왼쪽에있는 녹색 체크 표시를 클릭하여 커뮤니티에 표시 할 수 있습니다. 스택 오버플로에 대한 올바른 절차를 따름에 대한 평판 포인트를 얻게됩니다. – jfriend00