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 ፕሮክሲ ይተኩ። የimport መግለጫው ሆን ብሎ የ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 በconstructor ደረጃ የማንነት ማረጋገጫ አማራጮችን ያቀርባል። የፕሮክሲ ፈቃድ ራስጌን በድረ ገጹ ጥያቄ ራስጌዎች አይጨምሩ፤ agent ሌላ የግንኙነት ክፍል ይይዛል።

ተዛማጅ ጽሑፎች