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 put. Koristite izričit Undici ProxyAgent kada krajnja toč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();
}Spremite kod kao proxy-check.mjs u ES-modulsko okruženje s dostupnim Undicijem. Ovakvo POSIX pokretanje daje oba proxy puta i prazan popis 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 točku svojim HTTP proxyjem ili kandidatom s popisa HTTP proxyja. Dodjele vrijede za ovaj poziv; druge ljuske koriste drukčiju sintaksu.
U Undiciju 8.12.3 male inačice 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 vrijedi konvencija ALL_PROXY drugog klijenta.
| Ulaz | Kada ga ova verzija koristi |
|---|---|
| HTTP/HTTPS proxy okruženje | Bira se pri stvaranju agenta. Nakon promjene tih točaka stvorite novi dispatcher. |
no_proxy iz okruženja | Ponovno 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 neobveznim portovima; jedna zvjezdica zaobilazi proxy za svaki zahtjev. Ako proxy ne vidi promet, provjerite podudaranje odredišta.
Na Windowsu glavni proces ne razlikuje velika slova u nazivima okruženja, pa HTTP_PROXY i http_proxy nisu neovisne vrijednosti. Kopije okruženja u Node Workeru imaju dokumentirano razlikovanje veličine slova. Uzmite to u obzir prije postavljanja obaju zapisa za test prednosti. Primjer zatvara dispatcher nakon rada; zadržite ga dok ponovljeni zahtjevi trebaju istu spremljenu politiku krajnjih točaka.