Far leggere a Undici le variabili proxy dell’ambiente
Usa EnvHttpProxyAgent esplicitamente e distingui priorità delle minuscole, esclusioni, URL acquisite e impostazioni no_proxy dinamiche.
Usa EnvHttpProxyAgent quando l’ambiente del processo deve scegliere il percorso. Usa un ProxyAgent Undici esplicito quando l’endpoint deve appartenere alla configurazione del client. Collegalo alla richiesta effettiva: costruire soltanto l’agente non cambia nessuna chiamata 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();
}Salva il codice come proxy-check.mjs in un ambiente a moduli ES con Undici disponibile. Questo avvio POSIX fornisce le due rotte proxy e un elenco di esclusioni vuoto:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsSostituisci l’endpoint di documentazione con il tuo proxy HTTP o un candidato della lista di proxy HTTP. Le assegnazioni valgono per questa esecuzione; altre shell usano sintassi diversa.
In Undici 8.12.3, le variabili minuscole http_proxy, https_proxy e no_proxy prevalgono sulle corrispondenti maiuscole quando coesistono. Le destinazioni HTTP e HTTPS scelgono le proprie impostazioni. Una configurazione solo HTTP offre anche il ripiego per HTTPS; una solo HTTPS non copre HTTP. Non presumere che si applichi la convenzione ALL_PROXY di un altro client.
| Ingresso | Quando questa versione lo usa |
|---|---|
| Ambiente proxy HTTP/HTTPS | Scelto durante la costruzione dell’agente. Crea un nuovo dispatcher dopo aver cambiato tali endpoint. |
no_proxy dell’ambiente | Ricontrollato quando vengono inoltrate le richieste. |
noProxy del costruttore | Fissa esplicitamente la politica di esclusione anziché seguire modifiche successive dell’ambiente. |
Le esclusioni possono corrispondere a host e porte facoltative; un asterisco solo esclude dal proxy tutte le richieste. Controlla la corrispondenza della destinazione se il proxy non vede traffico.
Su Windows, il processo principale non distingue maiuscole nei nomi dell’ambiente, quindi HTTP_PROXY e http_proxy non sono valori indipendenti. Le copie dell’ambiente dei Node Worker hanno una distinzione di maiuscole documentata. Consideralo prima di impostare entrambe le grafie per provare la precedenza. L’esempio chiude il dispatcher dopo il lavoro; mantienilo mentre richieste ripetute hanno bisogno della stessa politica di endpoint acquisita.