Undici غوښتنه د dispatcher له لارې وړي. د ټاکلې HTTP پراکسي لپاره ProxyAgent جوړ کړئ او د ټول بهیر د عمومي dispatcher بدلولو پر ځای یې fetch بلنې ته ورکړئ.

npm install [email protected]
import { fetch, ProxyAgent } from 'undici';

const dispatcher = new ProxyAgent('http://203.0.113.10:8080');

try {
  const response = await fetch('https://example.com/', {
    dispatcher,
    signal: AbortSignal.timeout(15000),
  });

  console.log(response.status);
  console.log(await response.text());
} finally {
  await dispatcher.close();
}

پروګرام د .mjs فایل په بڼه وساتئ یا د ES ماډول پروژه وکاروئ. د اسنادو IP د HTTP پراکسي لېست په HTTP پراکسي بدل کړئ. رااخیستل په قصدي ډول د Undici fetch پلي کول کاروي؛ نو dispatcher غوراوی د بېلګې مراجع پورې اړه لري.

IP ملامتولو مخکې د Node برابري وګورئ

د Undici ملاتړ شوي Node نسخې د پکېج پر خپرونه پورې تړلې دي. بېلګه Undici 8.12.3 کاروي چې Node 22.19.0 یا نوې نسخه غواړي. د ماډول بارولو یا انجن نسخې تېروتنه د غوښتنې پراکسي ته له رسېدو مخکې پېښېږي. د نصب پکېج اړتیا وګورئ؛ دا مه فرضوئ چې هر Node نوی Undici چلوي.

یو agent تکراري غوښتنو ته خدمت کولای شي

لنډ پروګرام په پای کې dispatcher بندوي. که روان پروګرام له یوې پای‌نقطې څو غوښتنې لېږي، agent د هماغه کار لپاره وساتئ او د کار په پای کې یې وتړئ. د هر URL لپاره agent جوړول او بندول د نښلونو ګټور بیاکارول بندوي.

عمومي dispatcher یوازې د پراخ بدلون د نیت پر مهال مناسب دی. ښکاره سپارل د بلې برخې د وتونکو غوښتنو له بدلولو پرته د پراکسي IP ازموینه اسانه کوي.

ځواب او ناکام پړاو وګورئ

fetch هر HTTP تېروتنیز حالت رد شوی Promise نه ګڼي. 403 یا 429 ښايي د وېبپاڼې اصلي ځواب وي چې پراکسي راوړی. د نښلونې یا تونل تېروتنه بیا د ځواب څیز له جوړېدو مخکې غوښتنه ردولای شي. حالت د بلنې له غورځول شوو تېروتنو جلا ولولئ.

که تصدیق پکار وي، د Undici ProxyAgent د جوړونکي په کچه غوراوي لري. د پراکسي اجازې سرلیک د وېبپاڼې غوښتنې سرلیکونو ته مه ورزیاتوئ؛ agent د نښلونې بله برخه اداره کوي.

اړوندې مقالې