Sesuai judul, bagaimana cara melakukannya?
Ini kode saya:
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);
});
});
Jawaban:
Anda harus mengatur
Authorization
bidang di header.Ini berisi jenis otentikasi
Basic
dalam kasus ini danusername:password
kombinasi yang akan dikodekan di Base64:sumber
Dari Node.js http.request API Docs, Anda dapat menggunakan sesuatu yang mirip dengan
sumber
sumber
Solusi yang lebih mudah adalah dengan menggunakan format user: pass @ host langsung di URL.
Menggunakan pustaka permintaan :
Saya telah menulis sedikit posting blog tentang ini juga.
sumber
untuk apa nilainya saya menggunakan node.js 0.6.7 di OSX dan saya tidak bisa mendapatkan 'Otorisasi': auth untuk bekerja dengan proxy kami, itu perlu disetel ke 'Proxy-Authorization': auth kode uji saya adalah :
sumber
sumber
Saya menemukan ini baru-baru ini. Manakah di antara header Proxy-Authorization dan Authorization yang akan disetel bergantung pada server yang digunakan klien. Jika ini adalah server Web, Anda perlu menyetel Otorisasi dan jika itu proxy, Anda harus menyetel header Proxy-Authorization
sumber
Kode ini berfungsi dalam kasus saya, setelah banyak penelitian. Anda perlu menginstal permintaan paket npm .
sumber