Lëreni Undici të lexojë variablat proxy të mjedisit
Përdoreni EnvHttpProxyAgent me qëllim dhe dalloni përparësinë e shkronjave të vogla, anashkalimet, URL-të e ruajtura dhe no_proxy dinamik.
Përdorni EnvHttpProxyAgent kur mjedisi i procesit duhet të zgjedhë rrugën. Përdorni një Undici ProxyAgent të qartë kur pika fundore duhet të jetë pjesë e konfigurimit të klientit. Jepjani kërkesës reale; vetëm krijimi i agent-it nuk ndryshon asnjë thirrje fetch.
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();
}Ruajeni si proxy-check.mjs në mjedis modulesh ES ku Undici është i disponueshëm. Kjo nisje POSIX jep dy rrugët proxy dhe një listë bosh anashkalimi:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsZëvendësoni pikën e dokumentacionit me proxy-n tuaj HTTP ose kandidat nga lista e proxy-ve HTTP. Caktimet vlejnë për këtë thirrje; shell-e të tjera përdorin sintaksë tjetër.
Në Undici 8.12.3, shkronjat e vogla http_proxy, https_proxy dhe no_proxy kanë përparësi ndaj varianteve përkatëse me shkronja të mëdha kur ekzistojnë të dyja format. Destinacionet HTTP dhe HTTPS zgjedhin cilësimet e veta. Vetëm cilësimi HTTP jep edhe rezervë për HTTPS; vetëm HTTPS nuk ofron HTTP. Mos supozoni se zbatohet konventa ALL_PROXY e një klienti tjetër.
| Hyrja | Kur e përdor ky version |
|---|---|
| Mjedisi proxy HTTP/HTTPS | Zgjidhet gjatë krijimit të agent-it. Krijoni dispatcher të ri pasi të ndryshoni këto pika. |
no_proxy i mjedisit | Kontrollohet sërish kur dërgohen kërkesat. |
noProxy i konstruktorit | Fikson qartë politikën e anashkalimit në vend që të ndjekë ndryshimet e mëvonshme të mjedisit. |
Anashkalimet mund të përputhen me hoste dhe porta opsionale; një yll i vetëm anashkalon proxy-n për çdo kërkesë. Kontrolloni përputhjen e destinacionit nëse proxy nuk sheh trafik.
Në Windows, procesi kryesor nuk dallon madhësinë e shkronjave në emrat e mjedisit, prandaj HTTP_PROXY dhe http_proxy nuk janë vlera të pavarura. Kopjet e mjedisit Node Worker kanë një dallim të dokumentuar të madhësisë së shkronjave. Merreni parasysh para se të caktoni të dy shkrimet për të provuar përparësinë. Shembulli mbyll dispatcher-in pas punës; mbajeni sa kohë kërkesat e përsëritura kërkojnë të njëjtën politikë pikash të ruajtur.