Чтение контента с URL с помощью Node.js - PullRequest
25 голосов
/ 09 июня 2011

Я пытаюсь прочитать содержимое с URL-адреса с помощью Node.js, но все, что мне кажется, это куча байтов. Я явно делаю что-то не так, но я не уверен, что. Это код, который у меня сейчас есть:

var http = require('http');

var client = http.createClient(80, "google.com");
request = client.request();
request.on('response', function( res ) {
    res.on('data', function( data ) {
        console.log( data );
    } );
} );
request.end();

Любое понимание будет с благодарностью.

Ответы [ 3 ]

36 голосов
/ 20 июня 2012

попробуйте использовать событие ошибки клиента, чтобы найти проблему.

var http = require('http');

var options = {
    host: 'google.com',
    path: '/'
}
var request = http.request(options, function (res) {
    var data = '';
    res.on('data', function (chunk) {
        data += chunk;
    });
    res.on('end', function () {
        console.log(data);

    });
});
request.on('error', function (e) {
    console.log(e.message);
});
request.end();
8 голосов
/ 11 февраля 2018

HTTP и HTTPS:

const getScript = (url) => {
    return new Promise((resolve, reject) => {
        const http      = require('http'),
              https     = require('https');

        let client = http;

        if (url.toString().indexOf("https") === 0) {
            client = https;
        }

        client.get(url, (resp) => {
            let data = '';

            // A chunk of data has been recieved.
            resp.on('data', (chunk) => {
                data += chunk;
            });

            // The whole response has been received. Print out the result.
            resp.on('end', () => {
                resolve(data);
            });

        }).on("error", (err) => {
            reject(err);
        });
    });
};

(async (url) => {
    console.log(await getScript(url));
})('https://sidanmor.com/');
8 голосов
/ 09 июня 2011

объект данных является буфером байтов.Просто позвоните .toString(), чтобы получить читабельный код:

console.log( data.toString() );

ссылка: Буферы Node.js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...