@sylvester
В Node.js можно отследить все исходящие HTTP запросы с помощью библиотеки http
или https
, используя модуль http(s).request
. Для этого можно переопределить метод http(s).request
и добавить обработчики событий request
и response
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
const http = require('http'); // Сохраняем оригинальную функцию request const originalHttpRequest = http.request; // Переопределяем функцию request http.request = function(options, callback) { console.log('Исходящий HTTP запрос: ', options); const req = originalHttpRequest(options, callback); // Добавляем обработчики событий request и response req.on('request', function(req) { console.log('HTTP request: ', req); }); req.on('response', function(res) { console.log('HTTP response: ', res); }); return req; }; |
Этот код перехватит все исходящие HTTP запросы и выведет их параметры в консоль. Обратите внимание, что этот код перехватывает только HTTP запросы, отправленные с помощью модуля http
, а не других библиотек или модулей Node.js, которые могут использовать другие протоколы, например, axios
или request
. Если вам нужно отслеживать запросы, сделанные с помощью других модулей, вам нужно переопределить их соответствующие функции запроса и добавить обработчики событий request
и response
в аналогичном стиле.