Користите EnvHttpProxyAgent када окружење процеса треба да бира путању. Користите изричит Undici ProxyAgent када крајња тачка треба да припада конфигурацији клијента. Предајте га стварном захтеву; само стварање агента не мења ниједан 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();
}

Сачувајте код као proxy-check.mjs у ES-модулском окружењу с доступним Undici-јем. Овакво POSIX покретање даје обе прокси путање и празну листу заобилажења:

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

Замените документацијску тачку својим HTTP проксијем или кандидатом с листе HTTP проксија. Доделе важе за овај позив; друге љуске користе другачију синтаксу.

У Undici-ју 8.12.3 мале варијанте http_proxy, https_proxy и no_proxy имају предност над великима када постоје обе. HTTP и HTTPS одредишта бирају своја подешавања. Само HTTP подешавање даје и резерву за HTTPS; само HTTPS не даје HTTP. Не претпостављајте да важи конвенција ALL_PROXY другог клијента.

УлазКада га ова верзија користи
HTTP/HTTPS прокси окружењеБира се при стварању агента. Након промене тих тачака направите нови dispatcher.
no_proxy из окружењаПоново се проверава при слању захтева.
noProxy у конструкторуИзричито учвршћује политику заобилажења уместо праћења каснијих промена окружења.

Заобилажења могу одговарати хостовима и необавезним портовима; једна звездица заобилази прокси за сваки захтев. Ако прокси не види саобраћај, проверите подударање одредишта.

На Windows-у главни процес не разликује велика слова у називима окружења, па HTTP_PROXY и http_proxy нису независне вредности. Копије окружења у Node Worker-у имају документовано разликовање величине слова. Узмите то у обзир пре постављања оба записа за тест предности. Пример затвара dispatcher након рада; задржите га док поновљени захтеви траже исту сачувану политику крајњих тачака.

Повезани чланци