Как передать headers в post запросе?

Node.js предоставляет различные способы передачи заголовков (headers) в POST-запросе. Давайте рассмотрим несколько из них.

1. Использование модуля http:

const http = require('http');

const options = {
  hostname: 'example.com',
  port: 80,
  path: '/path/to/endpoint',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer token123'
  }
};

const req = http.request(options, (res) => {
  // обработка ответа сервера
});

req.write('body data');
req.end();

В коде выше мы создаем объект options, в котором указываем необходимые заголовки в свойстве headers. Затем создаем запрос с помощью http.request(), передаем опции и тело запроса (если есть) с помощью req.write() и отправляем запрос, вызывая req.end().

2. Использование модуля axios:

const axios = require('axios');

const url = 'http://example.com/path/to/endpoint';

const headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token123'
};

axios.post(url, { data: 'body data' }, { headers })
  .then((res) => {
    // обработка ответа сервера
  })
  .catch((err) => {
    // обработка ошибки
  });

В этом примере мы используем модуль axios, который облегчает работу с HTTP-запросами в Node.js. Мы указываем URL, заголовки и тело запроса с помощью третьего аргумента функции axios.post(). Затем мы обрабатываем успешный результат или ошибку с помощью методов .then() и .catch() соответственно.

3. Использование модуля request (устаревший вариант):

const request = require('request');

const options = {
  url: 'http://example.com/path/to/endpoint',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer token123'
  },
  body: 'body data'
};

request(options, (err, res, body) => {
  // обработка ответа сервера
});

В этом примере мы используем модуль request, который является простым способом выполнения HTTP-запросов. Мы определяем объект options, аналогичный предыдущим примерам, и передаем его в функцию request(). В функцию обратного вызова передается результат запроса, который мы можем обработать.

Все эти методы позволяют передавать заголовки в POST-запросе в Node.js. Выбор конкретного метода в итоге зависит от ваших предпочтений и требований проекта.