Wie mache ich das laut Titel?
Hier ist mein Code:
var http = require('http');
// to access this url I need to put basic auth.
var client = http.createClient(80, 'www.example.com');
var request = client.request('GET', '/', {
'host': 'www.example.com'
});
request.end();
request.on('response', function (response) {
console.log('STATUS: ' + response.statusCode);
console.log('HEADERS: ' + JSON.stringify(response.headers));
response.setEncoding('utf8');
response.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
Antworten:
Sie müssen das
Authorization
Feld in der Kopfzeile setzen.Es enthält
Basic
in diesem Fall den Authentifizierungstyp und dieusername:password
Kombination, die in Base64 codiert wird:quelle
In den http.request-API-Dokumenten von Node.js können Sie etwas Ähnliches verwenden
quelle
quelle
Eine einfachere Lösung besteht darin, das Format user: pass @ host direkt in der URL zu verwenden.
Verwenden der Anforderungsbibliothek :
Ich habe auch einen kleinen Blogpost darüber geschrieben .
quelle
Für das, was es wert ist, verwende ich node.js 0.6.7 unter OSX und konnte 'Authorization': auth nicht für die Arbeit mit unserem Proxy erhalten. Es musste auf 'Proxy-Authorization' gesetzt werden: auth mein Testcode ist ::
quelle
quelle
Ich bin kürzlich darauf gestoßen. Welcher der Proxy-Authorization- und Authorization- Header festgelegt werden soll, hängt vom Server ab, mit dem der Client spricht. Wenn es ein Webserver ist, müssen Sie festlegen , Authorization und wenn es ein Proxy, haben Sie die festlegen Proxy-Authorization - Header
quelle
Dieser Code funktioniert in meinem Fall nach viel Recherche. Sie müssen das Anforderungspaket npm installieren .
quelle