Fer que Undici llegeixi les variables proxy de l’entorn
Utilitza EnvHttpProxyAgent expressament i distingeix prioritat de minúscules, exclusions, URL capturats i no_proxy dinàmic.
Fes servir EnvHttpProxyAgent quan l’entorn del procés hagi de triar el camí. Fes servir un Undici ProxyAgent explícit quan el punt final pertanyi a la configuració del client. Passa’l a la petició real; crear l’agent tot sol no canvia cap crida 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();
}Desa això com a proxy-check.mjs en un entorn de mòduls ES amb Undici disponible. Aquesta arrencada POSIX proporciona els dos camins proxy i una llista d’exclusions buida:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsSubstitueix el punt final de documentació pel teu proxy HTTP o un candidat de la llista de proxies HTTP. Les assignacions corresponen a aquesta execució; altres intèrprets fan servir una sintaxi diferent.
A Undici 8.12.3, les variables minúscules http_proxy, https_proxy i no_proxy prevalen sobre les equivalents majúscules quan totes dues existeixen. Les destinacions HTTP i HTTPS trien les seves opcions. Una configuració només HTTP també proporciona alternativa per a HTTPS; una només HTTPS no cobreix HTTP. No suposis que s’aplica la convenció ALL_PROXY d’un altre client.
| Entrada | Quan la fa servir aquesta versió |
|---|---|
| Entorn proxy HTTP/HTTPS | Es tria en construir l’agent. Crea un dispatcher nou després de canviar aquests punts finals. |
no_proxy de l’entorn | Es torna a comprovar quan es despatxen peticions. |
noProxy del constructor | Fixa explícitament la política d’exclusions en lloc de seguir canvis posteriors de l’entorn. |
Les exclusions poden coincidir amb amfitrions i ports opcionals; un asterisc sol evita el proxy en totes les peticions. Comprova la coincidència de destinació si el proxy no veu trànsit.
Al Windows, el procés principal no distingeix majúscules als noms de l’entorn, de manera que HTTP_PROXY i http_proxy no són valors independents. Les còpies de l’entorn de Node Worker tenen una distinció de majúscules documentada. Tingues-ho en compte abans d’establir totes dues grafies per provar la prioritat. L’exemple tanca el dispatcher després de la feina; conserva’l mentre les peticions repetides necessitin la mateixa política de punts finals capturada.