Per a una crida HTTPS des d'Express que utilitza la política de proxy de l'entorn:

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 accepta un objecte d'opcions. Sense cap substitució llegeix la política d'entorn admesa mitjançant proxy-from-env i tria l'agent de nivell inferior per a l'URL.

Per a una ruta fixa pròpia de l'aplicació, substituïu la selecció mitjançant aquest objecte d'opcions:

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

Una callback constant no aplica les decisions NO_PROXY de l'entorn predeterminat. Implementeu les excepcions directes necessàries al vostre selector quan el substituïu.

Per a una crida permesa a un servei públic, la llista de proxys gratuïts proporciona candidats per a proxyUrl; trieu un protocol que admeti l'agent. L'esquema de l'URL de proxy retornada identifica el protocol intermediari; https.get continua nomenant el servei real. Conserveu l'agent per a la seva càrrega i destruïu-lo en tancar.

L'oient d'Express accepta sol·licituds entrants i no configura aquesta connexió sortint. El fetch basat en Undici també utilitza una altra entrada de transport: fetch d'Undici amb ProxyAgent pren un dispatcher, fent servir una versió del paquet compatible amb el runtime de Node.

Articles relacionats