Користете 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 по работата; задржете го додека повторени барања ја бараат истата зачувана политика на точките.

Поврзани статии