Notaðu proxy-IP með Undici í Node
Tengdu Undici ProxyAgent við eina fetch-beiðni og haltu tengingasafninu aðskildu frá annarri Node-umferð.
Undici leiðir beiðni í gegnum dispatcher. Búðu til ProxyAgent fyrir valinn HTTP-staðgengil og sendu hann með fetch-kallinu í stað þess að breyta sameiginlegum dispatcher alls ferlisins.
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();
}
Vistaðu forritið sem .mjs-skrá eða notaðu ES-einingaverkefni. Skiptu skjaladæmis-IP út fyrir HTTP-staðgengil af lista yfir HTTP-staðgengla. Innflutningurinn notar viljandi fetch-útfærslu Undici, svo dispatcher-valkosturinn tilheyrir biðlaranum í dæminu.
Athugaðu Node-samhæfi áður en þú kennir IP-tölunni um
Node-útgáfur sem Undici styður ráðast af útgáfu pakkans. Dæmið notar Undici 8.12.3 sem krefst Node 22.19.0 eða nýrri. Villa við hleðslu einingar eða vélarútgáfu kemur áður en beiðnin nær staðgengli. Athugaðu kröfur uppsetta pakkans fremur en að gera ráð fyrir að allar Node-útgáfur keyri nýjasta Undici.
Einn agent getur afgreitt endurteknar beiðnir
Stutta forritið lokar dispatcher sínum í lokin. Ef virkt forrit sendir margar beiðnir um sama endapunkt skaltu halda agent fyrir það verkefni og loka honum þegar vinnunni lýkur. Að búa til og loka agent fyrir hverja slóð hindrar gagnlega endurnýtingu tenginga.
Sameiginlegur dispatcher hentar aðeins þegar þú ætlar þér víðtækari breytingu. Að senda hann sérstaklega auðveldar proxy-IP-próf án þess að breyta útleiðandi beiðnum annars hluta.
Skoðaðu svarið og stig bilunarinnar
Fetch meðhöndlar ekki sérhverja HTTP-villustöðu sem hafnað Promise. 403 eða 429 getur verið raunverulegt svar vefsíðu sem staðgengillinn flutti. Tengingar- eða gangavilla getur hins vegar hafnað beiðni áður en svarhlutur er til. Lestu stöðuna aðskilda frá villum sem kallið kastar.
Ef auðkenning er nauðsynleg býður ProxyAgent Undici upp á valkosti í smiðnum. Ekki setja heimildarhaus staðgengils í beiðnihausa vefsíðunnar; agent sér um annan hluta tengingarinnar.