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 వేరే కనెక్షన్ భాగం నిర్వహిస్తుంది.

సంబంధిత వ్యాసాలు