Undici-কে পরিবেশের প্রক্সি ভেরিয়েবল পড়তে দিন
EnvHttpProxyAgent সচেতনভাবে ব্যবহার করুন; ছোট অক্ষরের অগ্রাধিকার, বাইপাস, ধরে রাখা প্রক্সি URL ও পরিবর্তনশীল no_proxy আলাদা বুঝুন।
প্রক্রিয়ার পরিবেশ পথ বাছবে হলে 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 বন্ধ করে; পুনরাবৃত্ত অনুরোধে একই ধরে রাখা এন্ডপয়েন্ট নীতি দরকার হলে সেটি বজায় রাখুন।