Përdorni IP proxy me Undici të Node
Lidhni Undici ProxyAgent me një kërkesë fetch dhe mbajeni grupin e lidhjeve veç trafikut tjetër Node.
Undici e rrugëzon kërkesën përmes një dispatcher. Krijoni ProxyAgent për proxy-n HTTP të zgjedhur dhe kalojeni te thirrja fetch në vend që të ndryshoni dispatcher global të gjithë procesit.
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();
}
Ruajeni programin si skedar .mjs ose përdorni projekt me module ES. Zëvendësoni IP e dokumentacionit me proxy HTTP nga lista e proxy-ve HTTP. Importimi përdor me qëllim zbatimin fetch të Undici, ndaj opsioni dispatcher i përket klientit në shembull.
Kontrolloni përputhshmërinë e Node para se të fajësoni IP
Versionet Node të mbështetura nga Undici varen nga botimi i paketës. Shembulli përdor Undici 8.12.3 që kërkon Node 22.19.0 ose më të ri. Gabimi i ngarkimit të modulit ose versionit të motorit ndodh para se kërkesa të arrijë proxy-n. Kontrolloni kërkesat e paketës së instaluar, mos supozoni që çdo Node ekzekuton Undici më të ri.
Një agent mund të shërbejë kërkesa të përsëritura
Programi i shkurtër e mbyll dispatcher në fund. Nëse aplikacioni aktiv dërgon disa kërkesa përmes së njëjtës pikë, mbajeni agentin për atë ngarkesë dhe mbylleni kur puna përfundon. Krijimi dhe mbyllja e agentit për çdo URL pengon ripërdorimin e dobishëm të lidhjeve.
Dispatcher global përshtatet vetëm kur synoni ndryshimin më të gjerë. Kalimi shprehimisht lehtëson provën e IP proxy pa ndryshuar kërkesat dalëse të një përbërësi tjetër.
Shikoni përgjigjen dhe fazën e dështimit
Fetch nuk e trajton çdo status gabimi HTTP si Promise të refuzuar. 403 ose 429 mund të jetë përgjigje reale e faqes e sjellë nga proxy. Gabimi i lidhjes ose tunelit mund përkundrazi të refuzojë kërkesën para objektit të përgjigjes. Lexojeni statusin veç gabimeve që hedh thirrja.
Nëse duhet autentikim, ProxyAgent i Undici ofron opsione në konstruktor. Mos shtoni kokë autorizimi proxy në kokat e kërkesës për faqen; agenti merret me një segment tjetër lidhjeje.