Выберите селектор окружения proxy-agent или собственный callback
Подключите агент к исходящему HTTP-запросу Node и сохраните необходимые исключения при замене выбора по умолчанию.
Для HTTPS-вызова на стороне Express, использующего прокси-политику окружения:
import https from 'node:https';
import { ProxyAgent } from 'proxy-agent';
const agent = new ProxyAgent();
const request = https.get('https://service.example/data', { agent }, response => {
console.log(response.statusCode);
response.resume();
});
request.on('error', error => console.error(error.message));Текущий конструктор ProxyAgent принимает объект параметров. Без переопределения он читает поддерживаемую политику окружения через proxy-from-env и выбирает агент нижнего уровня для URL.
Для фиксированного маршрута, принадлежащего приложению, замените выбор через этот объект параметров:
new ProxyAgent({ getProxyForUrl: () => proxyUrl })Постоянный callback не применяет решения NO_PROXY окружения по умолчанию. Заменяя его, реализуйте в своём селекторе необходимые прямые исключения.
Для разрешённого вызова публичного сервиса список бесплатных прокси поставляет кандидатов для proxyUrl; выберите протокол, который поддерживает агент. Схема возвращённого прокси-URL указывает протокол посредника; https.get всё равно называет реальный сервис. Держите агент для его нагрузки и уничтожайте при завершении.
Слушатель Express принимает входящие запросы и не настраивает это исходящее соединение. fetch на основе Undici тоже использует другой вход транспорта: fetch Undici с ProxyAgent принимает dispatcher, используя версию пакета, совместимую со средой выполнения Node.