وقتی محیط فرایند باید مسیر را انتخاب کند از EnvHttpProxyAgent استفاده کنید. اگر نقطه پایانی جزو تنظیم کلاینت است، Undici ProxyAgent صریح به کار ببرید. آن را به درخواست واقعی بدهید؛ ساختن agent به‌تنهایی هیچ فراخوانی 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();
}

کد را در محیط ماژول ES با Undici در دسترس، به نام proxy-check.mjs ذخیره کنید. این اجرای 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هنگام ساخت agent انتخاب می‌شود. بعد از تغییر این نقاط، dispatcher تازه بسازید.
no_proxy محیطهنگام ارسال درخواست‌ها دوباره بررسی می‌شود.
noProxy سازندهسیاست عبور مستقیم را صریح ثابت می‌کند، به‌جای پیروی از تغییرات بعدی محیط.

قواعد عبور مستقیم می‌توانند با میزبان و پورت اختیاری تطبیق کنند؛ یک ستاره تنها همه درخواست‌ها را از پروکسی عبور نمی‌دهد و مستقیم می‌فرستد. اگر پروکسی ترافیک نمی‌بیند، تطبیق مقصد را بررسی کنید.

در Windows فرایند اصلی بزرگی حروف نام محیط را لحاظ نمی‌کند، پس HTTP_PROXY و http_proxy مقدارهای مستقل نیستند. نسخه‌های محیط Node Worker تمایز مستند حساس به بزرگی حروف دارند. پیش از تعیین هر دو نگارش برای آزمایش اولویت، این را در نظر بگیرید. نمونه dispatcher را بعد از کار می‌بندد؛ تا وقتی درخواست‌های تکراری به همان سیاست نقطه پایانی ثبت‌شده نیاز دارند آن را نگه دارید.

مقالات مرتبط