В Node.js/Express, как мне "загрузить" страницу и получить ее HTML?

Внутри кода я хочу загрузить "http://www.google.com" и сохранить его в строке. Я знаю, как это сделать в urllib в python. Но как вы это делаете в Node.JS + Express?

Ответы

Ответ 1

Используя node.js, вы можете просто использовать метод http.request

http://nodejs.org/docs/v0.4.7/api/all.html#http.request

Этот метод встроен в node вам просто нужно указать http.

Если вы просто хотите сделать GET, вы можете использовать http.get

http://nodejs.org/docs/v0.4.7/api/all.html#http.get

var options = {
  host: 'www.google.com',
  port: 80,
  path: '/index.html'
};

http.get(options, function(res) {
  console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
  console.log("Got error: " + e.message);
});

(Пример из node.js docs)

Вы также можете использовать модуль запроса mikeal

https://github.com/mikeal/request

Ответ 2

var util = require("util"),
    http = require("http");

var options = {
    host: "www.google.com",
    port: 80,
    path: "/"
};

var content = "";   

var req = http.request(options, function(res) {
    res.setEncoding("utf8");
    res.on("data", function (chunk) {
        content += chunk;
    });

    res.on("end", function () {
        util.log(content);
    });
});

req.end();