För ett HTTPS-anrop på Express-sidan som använder miljöns 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 nuvarande ProxyAgent-konstruktorn tar ett alternativobjekt. Utan överstyrning läser den stödd miljöpolicy via proxy-from-env och väljer agenten på lägre nivå för URL:en.

För en fast rutt som applikationen äger, ersätt valet via det alternativobjektet:

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

En konstant callback tillämpar inte standardmiljöns NO_PROXY-beslut. Implementera de nödvändiga direkta undantagen i din väljare när du ersätter den.

För ett tillåtet offentligt tjänstanrop ger listan över gratis proxyservrar kandidater för proxyUrl; välj ett protokoll som agenten stöder. Scheme i den returnerade proxy-URL:en anger mellanhandens protokoll; https.get namnger fortfarande den verkliga tjänsten. Behåll agenten för sin arbetsbelastning och förstör den vid avstängning.

Express-lyssnaren tar emot inkommande begäranden och konfigurerar inte denna utgående anslutning. fetch baserad på Undici använder också en annan transportinmatning: Undici fetch med ProxyAgent tar en dispatcher, med en paketversion som är kompatibel med Node-runtime.

Relaterade artiklar