برای یک فراخوان HTTPS از سمت Express که از سیاست proxy محیط استفاده می‌کند:

import https from 'node:https';
import { ProxyAgent } from 'proxy-agent';

const agent = new ProxyAgent();
const request = https.get('https://service.example/data', { agent }, response => {
  console.log(response.statusCode);
  response.resume();
});
request.on('error', error => console.error(error.message));

سازندهٔ کنونی ProxyAgent یک شیء گزینه‌ها می‌گیرد. بدون بازنویسی، سیاست محیط پشتیبانی‌شده را از طریق proxy-from-env می‌خواند و عامل سطح پایین‌تر را برای URL برمی‌گزیند.

برای یک مسیر ثابت متعلق به برنامه، انتخاب را از طریق همان شیء گزینه‌ها جایگزین کنید:

new ProxyAgent({ getProxyForUrl: () => proxyUrl })

یک callback ثابت تصمیم‌های NO_PROXY محیط پیش‌فرض را اعمال نمی‌کند. هنگام جایگزینی، استثناهای مستقیم لازم را در انتخاب‌گر خود پیاده کنید.

برای فراخوان مجاز یک سرویس عمومی، فهرست پروکسی رایگان نامزدهایی برای proxyUrl فراهم می‌کند؛ پروتکلی را برگزینید که عامل پشتیبانی می‌کند. طرح URL پروکسی بازگشتی پروتکل واسطه را مشخص می‌کند؛ https.get هنوز نام سرویس واقعی است. عامل را برای بار کاری‌اش نگه دارید و هنگام خاموشی آن را نابود کنید.

شنوندهٔ Express درخواست‌های ورودی را می‌پذیرد و این اتصال خروجی را پیکربندی نمی‌کند. fetch مبتنی بر Undici نیز از ورودی انتقال دیگری استفاده می‌کند: fetch در Undici با ProxyAgent یک dispatcher می‌گیرد و از انتشار بسته‌ای سازگار با runtime نود استفاده می‌کند.

مقالات مرتبط