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.mjs

Ersetzen 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.

EingabeWann diese Version sie verwendet
HTTP/HTTPS-Proxy-UmgebungWird bei der Agent-Erstellung gewählt. Erzeugen Sie nach Änderungen dieser Endpunkte einen neuen Dispatcher.
no_proxy aus der UmgebungWird beim Verteilen von Anfragen erneut geprüft.
noProxy im KonstruktorLegt 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.

Ähnliche Artikel