Авторизация при использовании модуля «request» в Node.js
Имеется локальный сервер TeamCity.
Требуется получить информацию со внутренней страницы сервера. Для получения информации используется модуль request для Node.js :
var fs = require('fs')
var request = require('request');
request.get('адрес сервера>/login.html').auth('<корректный логин>', '<корректный пароль>', false);
request('<адрес интересующей страницы>').pipe(
fs.createWriteStream('<txt-файл, в который записывается текст с рассматриваемой страницы>')
)
Тем не менее, при запуске кода в txt-файл записывается ошибка: " "Authorization" header is not specified To login manually go to "/login.html" page " Подскажите, пожалуйста, как решить проблему? |
а есть сделать марштрут не 'адрес сервера>/login.html' а 'адрес сервера>' ?
странно как-то. тут basic аутентификация - зачем страница логина? |
melky
Спасибо за ответ. На другом ресурсе подсказали решение. Для просто Node без использования модуля request:
var options = {
host: '<адрес сервера (без "http://" в начале и "/" в конце)>',
path: '<путь до интересующей страницы (начинается с "/")>',
auth: '<логин>:<пароль>'
};
http.get(options,function(response){
var pageData = "";
response.on('data', function (chunk) {
pageData += chunk;
});
response.on('end', function(){
res.write(pageData);
res.end();
});
});
Для модуля request:
var options = {
uri: '<адрес интересующей страницы>',
auth: { 'user':'<логин>', 'password':'<пароль>' }
};
Но в обоих случаях не знаю как перенаправить информацию, полученную со страницы сайта, в файл. Возможно подскажите, как корректно написать функцию "callback" в "request(options, callback)" ? |
|
| Часовой пояс GMT +3, время: 02:07. |