Lad Undici læse proxyvariabler fra miljøet
Brug EnvHttpProxyAgent bevidst, og skeln mellem små bogstavers prioritet, omgåelsesregler, fastholdte proxy-URL’er og dynamisk no_proxy.
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.mjsErstat 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.
| Input | Hvornå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øet | Kontrolleres igen ved afsendelse af anmodninger. |
noProxy i konstruktøren | Fastlæ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.