Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Авторизация при использовании модуля «request» в Node.js (https://javascript.ru/forum/misc/47300-avtorizaciya-pri-ispolzovanii-modulya-request-v-node-js.html)

TorchTT 18.05.2014 01:03

Авторизация при использовании модуля «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 "

Подскажите, пожалуйста, как решить проблему?

melky 18.05.2014 13:58

а есть сделать марштрут не 'адрес сервера>/login.html' а 'адрес сервера>' ?
странно как-то. тут basic аутентификация - зачем страница логина?

TorchTT 18.05.2014 19:03

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)" ?

TorchTT 19.05.2014 12:26

Вопрос решен.

Тему можно закрывать.


Часовой пояс GMT +3, время: 23:14.