መንገዱን የሂደቱ አካባቢ መምረጥ ሲኖርበት 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ን ይዘጋል፤ ተደጋጋሚ ጥያቄዎች ተመሳሳይ የተቀመጠ የመገናኛ ፖሊሲ እስከሚፈልጉ ድረስ ያቆዩት።

ተዛማጅ ጽሑፎች