Para una llamada HTTPS del lado de Express que usa la política de proxy del entorno:

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));

El constructor actual de ProxyAgent acepta un objeto de opciones. Sin ninguna anulación, lee la política de entorno admitida mediante proxy-from-env y elige el agente de nivel inferior para la URL.

Para una ruta fija propia de la aplicación, reemplace la selección mediante ese objeto de opciones:

new ProxyAgent({ getProxyForUrl: () => proxyUrl })

Un callback constante no aplica las decisiones NO_PROXY del entorno predeterminado. Implemente las excepciones directas necesarias en su selector cuando lo reemplace.

Para una llamada permitida a un servicio público, la lista de proxies gratuitos proporciona candidatos para proxyUrl; elija un protocolo compatible con el agente. El esquema de la URL de proxy devuelta identifica el protocolo del intermediario; https.get sigue nombrando el servicio real. Conserve el agente para su carga de trabajo y destrúyalo al apagar.

El listener de Express acepta solicitudes entrantes y no configura esta conexión saliente. El fetch basado en Undici también usa otra entrada de transporte: fetch de Undici con ProxyAgent toma un dispatcher, usando una versión del paquete compatible con el runtime de Node.

Artículos relacionados