Авторизация при использовании модуля «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, время: 23:14. |