Neka Undici čita proxy varijable iz okruženja
Svjesno koristite EnvHttpProxyAgent i razlikujte prednost malih slova, zaobilaženje, spremljene URL-ove proxyja i dinamični no_proxy.
Koristite EnvHttpProxyAgent kada okruženje procesa treba birati putanju. Koristite izričit Undici ProxyAgent kada krajnja tačka treba pripadati konfiguraciji klijenta. Predajte ga stvarnom zahtjevu; samo stvaranje agenta ne mijenja nijedan fetch poziv.
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();
}Sačuvajte kod kao proxy-check.mjs u ES-modulsko okruženje s dostupnim Undicijem. Ovakvo POSIX pokretanje daje obje proxy putanje i praznu listu zaobilaženja:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsZamijenite dokumentacijsku tačku svojim HTTP proxyjem ili kandidatom s liste HTTP proxyja. Dodjele važe za ovaj poziv; druge ljuske koriste drugačiju sintaksu.
U Undiciju 8.12.3 male varijante http_proxy, https_proxy i no_proxy imaju prednost nad velikima kada postoje obje. HTTP i HTTPS odredišta biraju svoje postavke. Samo HTTP postavka daje i rezervu za HTTPS; samo HTTPS ne daje HTTP. Ne pretpostavljajte da važi konvencija ALL_PROXY drugog klijenta.
| Ulaz | Kada ga ova verzija koristi |
|---|---|
| HTTP/HTTPS proxy okruženje | Bira se pri stvaranju agenta. Nakon promjene tih tačaka napravite novi dispatcher. |
no_proxy iz okruženja | Ponovo se provjerava pri slanju zahtjeva. |
noProxy u konstruktoru | Izričito učvršćuje politiku zaobilaženja umjesto praćenja kasnijih promjena okruženja. |
Zaobilaženja mogu odgovarati hostovima i neobaveznim portovima; jedna zvjezdica zaobilazi proxy za svaki zahtjev. Ako proxy ne vidi saobraćaj, provjerite podudaranje odredišta.
Na Windowsu glavni proces ne razlikuje velika slova u nazivima okruženja, pa HTTP_PROXY i http_proxy nisu nezavisne vrijednosti. Kopije okruženja u Node Workeru imaju dokumentovano razlikovanje veličine slova. Uzmite to u obzir prije postavljanja oba zapisa za test prednosti. Primjer zatvara dispatcher nakon rada; zadržite ga dok ponovljeni zahtjevi trebaju istu spremljenu politiku krajnjih tačaka.