Selon le titre, comment puis-je faire cela?
Voici mon 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);
});
});
Réponses:
Vous devez définir le
Authorization
champ dans l'en-tête.Il contient le type d'authentification
Basic
dans ce cas et lausername:password
combinaison qui est encodée en Base64:la source
À partir de la documentation de l'API Node.js http.request, vous pouvez utiliser quelque chose de similaire à
la source
la source
Une solution plus simple consiste à utiliser le format user: pass @ host directement dans l'URL.
Utilisation de la bibliothèque de requêtes :
J'ai également écrit un petit article de blog à ce sujet.
la source
pour ce que ça vaut, j'utilise node.js 0.6.7 sur OSX et je n'ai pas pu obtenir 'Authorization': auth pour fonctionner avec notre proxy, il devait être réglé sur 'Proxy-Authorization': auth mon code de test est :
la source
la source
Je suis tombé sur ça récemment. Lequel parmi les en - têtes Proxy-Authorization et Authorization à définir dépend du serveur avec lequel le client parle. S'il s'agit d'un serveur Web, vous devez définir l' autorisation et s'il s'agit d'un proxy, vous devez définir l'en - tête Proxy-Authorization
la source
Ce code fonctionne dans mon cas, après de nombreuses recherches. Vous devrez installer le package request npm .
la source