Получить содержимое URL в Node.js с помощью Express - PullRequest
11 голосов
/ 14 октября 2011

Как бы я мог загрузить содержимое URL-адреса в Node при использовании платформы Express?По сути, мне нужно завершить процесс аутентификации в Facebook, но я не могу сделать это, НЕ ПОЛУЧЯ их URL-адрес токена OAuth.

Обычно в PHP я бы использовал Curl, но каков эквивалент Node?

Ответы [ 3 ]

26 голосов
/ 15 октября 2011
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);
});

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

10 голосов
/ 27 июля 2016

Проблема, с которой вы столкнетесь: какая-то веб-страница загружает свое содержимое с помощью JavaScript. Таким образом, вам нужен пакет, такой как After-Load , который имитирует поведение браузера, а затем выдает HTML-содержимое этого URL.

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
3 голосов
/ 23 июня 2018

Использование http требует большего количества строк кода для простой HTML-страницы.

Вот эффективный способ: Используйте request

var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});

Вот документ для запроса: https://github.com/request/request



2-й метод с использованием fetch с обещаниями:

    fetch('https://sitepoint.com')
    .then(resp=> resp.text()).then(body => console.log(body)) ; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...