Undici Proxy-Umgebungsvariablen lesen lassen
Setzen Sie EnvHttpProxyAgent gezielt ein und unterscheiden Sie Kleinbuchstaben-Priorität, Umgehungsregeln, erfasste Proxy-URLs und dynamisches no_proxy.
Nutzen Sie EnvHttpProxyAgent, wenn die Prozessumgebung die Route wählen soll. Verwenden Sie einen expliziten Undici ProxyAgent, wenn der Endpunkt zur Client-Konfiguration gehören soll. Übergeben Sie ihn an die tatsächliche Anfrage: Seine bloße Erstellung ändert keinen fetch-Aufruf.
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();
}Speichern Sie dies als proxy-check.mjs in einer ES-Modul-Umgebung mit verfügbarem Undici. Der folgende POSIX-Start übergibt beide Proxy-Routen und eine leere Umgehungsliste:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsErsetzen Sie den Dokumentationsendpunkt durch Ihren HTTP-Proxy oder einen Kandidaten aus der HTTP-Proxy-Liste. Die Zuweisungen gelten für diesen Aufruf; andere Shells nutzen andere Syntax.
In Undici 8.12.3 haben die kleingeschriebenen http_proxy, https_proxy und no_proxy Vorrang vor den entsprechenden Großschreibungen, wenn beide existieren. HTTP- und HTTPS-Ziele wählen ihre jeweiligen Einstellungen. Eine reine HTTP-Einstellung dient auch als HTTPS-Fallback; eine reine HTTPS-Einstellung versorgt HTTP nicht. Setzen Sie nicht voraus, dass die ALL_PROXY-Konvention anderer Clients gilt.
| Eingabe | Wann diese Version sie verwendet |
|---|---|
| HTTP/HTTPS-Proxy-Umgebung | Wird bei der Agent-Erstellung gewählt. Erzeugen Sie nach Änderungen dieser Endpunkte einen neuen Dispatcher. |
no_proxy aus der Umgebung | Wird beim Verteilen von Anfragen erneut geprüft. |
noProxy im Konstruktor | Legt die Umgehungsrichtlinie explizit fest, statt späteren Umgebungsänderungen zu folgen. |
Umgehungen können Hosts und optionale Ports abgleichen; ein einzelner Stern umgeht jede Anfrage. Prüfen Sie den Zielabgleich, wenn der Proxy keinen Verkehr sieht.
Unter Windows behandelt der Hauptprozess Umgebungsnamen ohne Beachtung der Großschreibung, daher sind HTTP_PROXY und http_proxy keine unabhängigen Werte. Node-Worker-Umgebungskopien besitzen eine dokumentierte Unterscheidung nach Großschreibung. Berücksichtigen Sie das, bevor Sie beide Schreibweisen zum Prioritätstest setzen. Das Beispiel schließt den Dispatcher nach der Arbeit; behalten Sie ihn während wiederholter Anfragen mit derselben erfassten Endpunktrichtlinie bei.