http - htpasswd - www authenticate node js
HTTP-Client basierend auf NodeJS: Wie authentifiziere ich eine Anfrage? (3)
Ich schlage vor, request dafür zu verwenden, es unterstützt breite Palette von Funktionen einschließlich HTTP-Basis-Authentifizierung.
var username = 'username',
password = 'password',
url = 'http://' + username + ':' + password + '@some.server.com';
request({url: url}, function (error, response, body) {
// Do more stuff with 'body' here
});
Dies ist der Code, den ich eine einfache GET-Anfrage machen muss:
var options = {
host: 'localhost',
port: 8000,
path: '/restricted'
};
request = http.get(options, function(res){
var body = "";
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
})
res.on('error', function(e) {
console.log("Got error: " + e.message);
});
});
Dieser Pfad "/ restricted" benötigt jedoch eine einfache HTTP-Authentifizierung. Wie füge ich die Anmeldeinformationen zur Authentifizierung hinzu? Ich konnte nichts im Zusammenhang mit der grundlegenden HTTP-Authentifizierung in NodeJS Handbuch finden . Danke im Voraus.
In der neueren Version können Sie auch einfach den Parameter auth (im Format Benutzername: Passwort, keine Kodierung) zu Ihren Optionen hinzufügen:
var options = {
host: 'localhost',
port: 8000,
path: '/restricted',
auth: username + ':' + password
};
request = http.get(options, function(res){
//...
});
(HINWEIS: getestet auf v0.10.3)
Here einige Informationen zur grundlegenden HTTP-Authentifizierung.