Brug EnvHttpProxyAgent, når procesmiljøet skal vælge ruten. Brug en eksplicit Undici ProxyAgent, når endepunktet skal høre til klientkonfigurationen. Giv den til den faktiske anmodning; agentens oprettelse alene ændrer ingen fetch-kald:

import { EnvHttpProxyAgent, fetch } from 'undici';

const dispatcher = new EnvHttpProxyAgent();

try {
  const response = await fetch("https://example.com/", {
    dispatcher,
    signal: AbortSignal.timeout(15000),
  });
  console.log(response.status);
  await response.arrayBuffer();
} finally {
  await dispatcher.close();
}

Gem dette som proxy-check.mjs i et ES-modulmiljø med Undici tilgængeligt. Denne POSIX-start angiver de to proxyruter og en tom omgåelsesliste:

http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjs

Erstat dokumentationsendepunktet med din HTTP-proxy eller en kandidat fra HTTP-proxylisten. Tildelingerne gælder dette kald; andre skaller bruger anden syntaks.

I Undici 8.12.3 har de små bogstaver i http_proxy, https_proxy og no_proxy forrang frem for de tilsvarende store, når begge findes. HTTP- og HTTPS-destinationer vælger hver deres indstillinger. En HTTP-indstilling alene giver også HTTPS-fallback; en HTTPS-indstilling alene giver ikke HTTP. Antag ikke, at en anden klients ALL_PROXY-konvention gælder.

InputHvornår denne udgave bruger det
HTTP/HTTPS-proxymiljøValgt ved agentens oprettelse. Opret en ny dispatcher efter ændring af disse endepunkter.
no_proxy fra miljøetKontrolleres igen ved afsendelse af anmodninger.
noProxy i konstruktørenFastlægger omgåelsespolitikken eksplicit frem for at følge senere miljøændringer.

Omgåelser kan matche værter og valgfrie porte; en enkelt stjerne omgår proxyen for alle anmodninger. Kontrollér destinationsmatch, hvis proxyen ikke ser trafik.

På Windows behandler hovedprocessen miljønavne uden forskel på store og små bogstaver, så HTTP_PROXY og http_proxy er ikke uafhængige værdier. Miljøkopier i Node Worker har en dokumenteret forskel med hensyn til bogstavstørrelse. Tag højde for det, før du angiver begge stavemåder for at teste prioriteten. Eksemplet lukker sin dispatcher efter arbejdet; behold den, mens gentagne anmodninger behøver den samme fastholdte endepunktspolitik.

Relaterede artikler