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 बंद करता है; बार-बार अनुरोध को उसी पकड़ी गई एंडपॉइंट नीति की ज़रूरत हो, तब तक उसे बनाए रखें।