Koristite EnvHttpProxyAgent kada okruženje procesa treba birati putanju. Koristite izričit Undici ProxyAgent kada krajnja tačka treba pripadati konfiguraciji klijenta. Predajte ga stvarnom zahtjevu; samo stvaranje agenta ne mijenja nijedan fetch poziv.

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();
}

Sačuvajte kod kao proxy-check.mjs u ES-modulsko okruženje s dostupnim Undicijem. Ovakvo POSIX pokretanje daje obje proxy putanje i praznu listu zaobilaženja:

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

Zamijenite dokumentacijsku tačku svojim HTTP proxyjem ili kandidatom s liste HTTP proxyja. Dodjele važe za ovaj poziv; druge ljuske koriste drugačiju sintaksu.

U Undiciju 8.12.3 male varijante http_proxy, https_proxy i no_proxy imaju prednost nad velikima kada postoje obje. HTTP i HTTPS odredišta biraju svoje postavke. Samo HTTP postavka daje i rezervu za HTTPS; samo HTTPS ne daje HTTP. Ne pretpostavljajte da važi konvencija ALL_PROXY drugog klijenta.

UlazKada ga ova verzija koristi
HTTP/HTTPS proxy okruženjeBira se pri stvaranju agenta. Nakon promjene tih tačaka napravite novi dispatcher.
no_proxy iz okruženjaPonovo se provjerava pri slanju zahtjeva.
noProxy u konstruktoruIzričito učvršćuje politiku zaobilaženja umjesto praćenja kasnijih promjena okruženja.

Zaobilaženja mogu odgovarati hostovima i neobaveznim portovima; jedna zvjezdica zaobilazi proxy za svaki zahtjev. Ako proxy ne vidi saobraćaj, provjerite podudaranje odredišta.

Na Windowsu glavni proces ne razlikuje velika slova u nazivima okruženja, pa HTTP_PROXY i http_proxy nisu nezavisne vrijednosti. Kopije okruženja u Node Workeru imaju dokumentovano razlikovanje veličine slova. Uzmite to u obzir prije postavljanja oba zapisa za test prednosti. Primjer zatvara dispatcher nakon rada; zadržite ga dok ponovljeni zahtjevi trebaju istu spremljenu politiku krajnjih tačaka.

Povezani članci