buzzi888
В приведенной ссылке устаревшая форма, более не используемая.
При измении кода на:
var options = {
host: '<адрес сервера>',
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();
});
});
Появляется ошибка:
events.js:72
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND
at errnoException (dns.js:37:11)
at Object.onanswer [as oncomplete] (dns.js:124:16)
В чем может быть причина ошибки?
UPD:
Проблема решена.
Адрес сервера начинался с "http://".
Для корректного выполнения кода необходимо в адресе сервера убирать "http://"
UPD_2:
Возможно подскажите, как перенаправить ответ на запрос в файл?
Ранее в Node..JS для это использовалось:
request('<адрес интересующей страницы>').pipe(
fs.createWriteStream('<txt-файл, в который записывается текст с рассматриваемой страницы>');
UPD_3:
Авторизация для модуля request:
var options = {
uri: '<адрес интересующей страницы>',
auth: { 'user':'<логин>', 'password':'<пароль>' }
};
request(options, callback)
Тем не менее, все еще не знаю, как реализовать метод callback для перенаправления информации со страницы в файл.
UPD_4:
Вопрос решен.
Для авторизации и получения информации со страницы необходимо использовать:
var options = {
uri: '<адрес, начинающийся с http://, https:// или другого>',
auth: { 'user':'<логин>', 'password':'<пароль>' }
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
fs.writeFile('<файл, в который выводится информация>', body, function (err) {
if (err) throw err;
});
}
else {
console.log("Error: " + error);
}
}
var req = request(options, callback);