Użyj EnvHttpProxyAgent, gdy trasę ma wybierać środowisko procesu. Wybierz jawny Undici ProxyAgent, gdy punkt końcowy ma należeć do konfiguracji klienta. Przekaż go rzeczywistemu żądaniu; samo utworzenie agenta nie zmienia żadnego wywołania 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();
}

Zapisz kod jako proxy-check.mjs w konfiguracji modułów ES z dostępnym Undici. Taki start POSIX przekazuje obie trasy proxy i pustą listę obejść:

http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjs

Zastąp punkt dokumentacyjny swoim proxy HTTP lub kandydatem z listy proxy HTTP. Przypisania dotyczą tego uruchomienia; inne powłoki używają innej składni.

W Undici 8.12.3 zmienne małymi literami http_proxy, https_proxy i no_proxy mają pierwszeństwo przed odpowiednikami wielkimi literami, jeśli istnieją obie formy. Cele HTTP i HTTPS wybierają własne ustawienia. Ustawienie tylko HTTP daje też wariant zastępczy dla HTTPS; samo HTTPS nie zapewnia HTTP. Nie zakładaj, że obowiązuje konwencja ALL_PROXY innego klienta.

WejścieKiedy ta wersja je wykorzystuje
Środowisko proxy HTTP/HTTPSWybierane przy tworzeniu agenta. Po zmianie tych punktów utwórz nowy dispatcher.
no_proxy ze środowiskaSprawdzane ponownie przy wysyłaniu żądań.
noProxy konstruktoraJawnie ustala politykę obejść zamiast śledzić późniejsze zmiany środowiska.

Obejścia mogą dopasowywać hosty i opcjonalne porty; pojedyncza gwiazdka omija proxy dla każdego żądania. Jeśli proxy nie widzi ruchu, sprawdź dopasowanie celu.

W Windows główny proces nie rozróżnia wielkości liter w nazwach środowiska, więc HTTP_PROXY i http_proxy nie są niezależnymi wartościami. Kopie środowiska Node Worker mają udokumentowane rozróżnianie liter. Uwzględnij to przed ustawieniem obu pisowni do testu pierwszeństwa. Przykład zamyka dispatcher po pracy; zachowaj go, gdy powtarzane żądania potrzebują tej samej zapamiętanej polityki punktów.

Powiązane artykuły