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.

Artikuj të ngjashëm