Выполнение HTTP-запросов в Node.js: fetch, node-fetch, axios и http

В Node.js метод «fetch» ​​недоступен по умолчанию, как в браузерах. Однако вы можете добиться аналогичной функциональности, используя внешние библиотеки, такие как «node-fetch» ​​или «axios». Эти библиотеки предоставляют методы для выполнения HTTP-запросов из среды Node.js.

Вот несколько методов, которые можно использовать для выполнения HTTP-запросов в Node.js:

  1. node-fetch: это популярная библиотека, которая добавляет API-интерфейс выборки из браузера в Node.js. Он позволяет вам отправлять HTTP-запросы и обрабатывать ответы простым и понятным способом.
const fetch = require('node-fetch');
fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
  1. axios: Axios — это широко используемая клиентская библиотека HTTP, которая работает как в браузерах, так и в Node.js. Он предоставляет богатый набор функций и возможностей для выполнения HTTP-запросов.
const axios = require('axios');
axios.get('https://api.example.com/data')
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
  1. http: Node.js также предоставляет встроенный модуль http, который позволяет выполнять HTTP-запросы без каких-либо внешних библиотек. Однако для этого требуется более ручная обработка объектов запроса и ответа.
const http = require('http');
const options = {
  hostname: 'api.example.com',
  path: '/data',
  method: 'GET'
};
const req = http.request(options, (res) => {
  let data = '';
  res.on('data', (chunk) => {
    data += chunk;
  });
  res.on('end', () => {
    console.log(JSON.parse(data));
  });
});
req.on('error', (error) => {
  console.error(error);
});
req.end();

Это всего лишь несколько примеров того, как можно выполнять HTTP-запросы в Node.js. В зависимости от ваших конкретных требований вы можете выбрать тот, который лучше всего соответствует вашим потребностям.