2017-02-14 9 views
0

Ich entwickle eine einfache Nodejs-Anwendung. Ich versuche, einen REST-API-Aufruf von dieser Anwendung zu erstellen, und die REST-API verfügt über eine Standardauthentifizierung. Ich erhalte Fehler "ERRORError: getaddrinfo ENOTFOUND" Versucht mit den Optionen, die in stackoverflow vorgeschlagen werden, aber konnte es nicht arbeiten lassen. Kann mir jemand bitte auf this..Here helfen ist der Code, den ich `bin mitAufruf einer Drittpartei Rest API vom Knoten

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); 
}); 

Vielen Dank im Voraus
Grüße
VHC

+0

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

+0

Thomas .. Ich habe alle möglichen Möglichkeiten versucht, die ich auf stackoverflow gefunden habe .. .Ich bin auch nicht in der Lage zu pingen..Ich habe versucht, www.google.com zu pingen. Zeitüberschreitung der Verbindung für alle Pings – user1948228

+0

Kannst du die URL teilen? – ThomasThiebaud

Antwort

0

www.google.com keine gültige URL ist. Der Browser lässt Sie sie eingeben (was dazu führt, dass die Leute denken, dass es unter allen Umständen funktionieren sollte), aber nur deshalb, weil der Browser unter dem Deckblatt rät, dass Sie http://www.google.com eingeben wollten.

Das http-Modul benötigt eine vollqualifizierte URL wie http://www.google.com oder Sie müssen Host und Pfad und Protokoll separat im Objekt options angeben. Wenn Sie jedoch nur eine URL übergeben, muss es eine vollständige URL sein. Details in the node.js doc.

+0

@ user1948228 - Hat dies Ihre Frage beantwortet? Wenn dies der Fall ist, können Sie dies der Community anzeigen, indem Sie auf das grüne Häkchen links neben der Antwort klicken. Das wird dir auch einige Reputationspunkte einbringen, wenn du hier beim Stack Overflow die richtige Prozedur befolgst. – jfriend00