Naudokite EnvHttpProxyAgent, kai kelią turi pasirinkti proceso aplinka. Naudokite aiškiai nustatytą Undici ProxyAgent, kai galinis taškas turi priklausyti kliento konfigūracijai. Perduokite jį tikrajai užklausai; vien agento sukūrimas nepakeičia jokio fetch iškvietimo.

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

Išsaugokite tai kaip proxy-check.mjs ES modulių aplinkoje, kurioje pasiekiamas Undici. Šis POSIX paleidimas pateikia du tarpinio serverio kelius ir tuščią apėjimo sąrašą:

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

Dokumentacijos tašką pakeiskite savo HTTP tarpiniu serveriu arba kandidatu iš HTTP tarpinių serverių sąrašo. Priskyrimai skirti šiam paleidimui; kitų apvalkalų sintaksė skiriasi.

Undici 8.12.3 mažųjų raidžių http_proxy, https_proxy ir no_proxy turi pirmenybę prieš didžiųjų raidžių atitikmenis, kai egzistuoja abu. HTTP ir HTTPS paskirtys pasirenka savo nuostatas. Tik HTTP nuostata taip pat pateikia atsarginį variantą HTTPS; tik HTTPS nesuteikia HTTP. Nemanykite, kad galioja kito kliento ALL_PROXY susitarimas.

ĮvestisKada ši laida ją naudoja
HTTP/HTTPS tarpinio serverio aplinkaPasirenkama kuriant agentą. Pakeitę šiuos galinius taškus sukurkite naują dispatcher.
Aplinkos no_proxyTikrinama iš naujo siunčiant užklausas.
Konstruktoriaus noProxyAiškiai užfiksuoja apėjimo politiką, užuot sekusi vėlesnius aplinkos pakeitimus.

Apėjimai gali atitikti kompiuterius ir neprivalomus prievadus; viena žvaigždutė apeina tarpinį serverį visoms užklausoms. Jei tarpinis serveris nemato srauto, tikrinkite paskirties atitiktį.

Windows pagrindinis procesas neskiria aplinkos vardų raidžių dydžio, todėl HTTP_PROXY ir http_proxy nėra nepriklausomos reikšmės. Node Worker aplinkos kopijose yra dokumentuotas raidžių dydžio skirtumas. Atsižvelkite į tai prieš nustatydami abu užrašus pirmenybei patikrinti. Pavyzdys uždaro dispatcher po darbo; išlaikykite jį, kol kartotinėms užklausoms reikia tos pačios išsaugotos galinių taškų politikos.

Susiję straipsniai