প্রক্রিয়ার পরিবেশ পথ বাছবে হলে 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();
}

Undici পাওয়া যায় এমন ES-মডিউল সেটআপে 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 প্রক্সি তালিকার প্রার্থী দিন। মান নির্ধারণগুলো এইবার চালানোর জন্য; অন্য shell ভিন্ন গঠন ব্যবহার করে।

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 বন্ধ করে; পুনরাবৃত্ত অনুরোধে একই ধরে রাখা এন্ডপয়েন্ট নীতি দরকার হলে সেটি বজায় রাখুন।

সম্পর্কিত নিবন্ধ