For et HTTPS-kall på Express-siden som bruker miljøets proxy-policy:

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

Den nåværende ProxyAgent-konstruktøren tar et alternativobjekt. Uten overstyring leser den støttet miljøpolicy gjennom proxy-from-env og velger agenten på lavere nivå for URL-en.

For en fast rute som applikasjonen eier, erstatt valget gjennom det alternativobjektet:

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

En konstant callback bruker ikke standardmiljøets NO_PROXY-beslutninger. Implementer de nødvendige direkte unntakene i velgeren din når du erstatter den.

For et tillatt offentlig tjenestekall gir listen over gratis proxyer kandidater for proxyUrl; velg en protokoll agenten støtter. Skjemaet i den returnerte proxy-URL-en angir mellomleddets protokoll; https.get navngir fortsatt den virkelige tjenesten. Behold agenten for arbeidsmengden og ødelegg den ved avslutning.

Express-lytteren tar imot innkommende forespørsler og konfigurerer ikke denne utgående forbindelsen. fetch basert på Undici bruker også en annen transportinngang: Undici fetch med ProxyAgent tar en dispatcher, med en pakkeutgivelse som er kompatibel med Node-kjøretiden.

Relaterte artikler