De acordo com o título, como faço isso?
Aqui está o meu código:
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);
});
});
Respostas:
Você deve definir o
Authorization
campo no cabeçalho.Ele contém o tipo de autenticação
Basic
neste caso e ausername:password
combinação que é codificada em Base64:fonte
Em Node.js http.request API Docs, você poderia usar algo semelhante a
fonte
fonte
Uma solução mais fácil é usar o formato user: pass @ host diretamente na URL.
Usando a biblioteca de solicitações :
Eu escrevi uma pequena postagem no blog sobre isso também.
fonte
pelo que vale a pena, estou usando node.js 0.6.7 no OSX e não consegui 'Authorization': auth para funcionar com nosso proxy, ele precisava ser definido como 'Proxy-Authorization': auth meu código de teste é :
fonte
fonte
Eu me deparei com isso recentemente. Qual entre os cabeçalhos Proxy-Authorization e Authorization definir depende do servidor com o qual o cliente está se comunicando. Se for um servidor da Web, você precisa definir a autorização e se for um proxy, você deve definir o cabeçalho Proxy-Authorization
fonte
Esse código funciona no meu caso, depois de muita pesquisa. Você precisará instalar o pacote npm de solicitação .
fonte