Undici so‘rovni dispatcher orqali yo‘naltiradi. Tanlangan HTTP proksi uchun ProxyAgent yarating va butun jarayonning global dispatcherini o‘zgartirish o‘rniga fetch chaqiruviga bering.

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();
}

Dasturni .mjs fayli sifatida saqlang yoki ES modul loyihasidan foydalaning. Hujjat IP manzilini HTTP proksilar ro‘yxatidan HTTP proksi bilan almashtiring. Import ataylab Undici fetch amalga oshirilishini ishlatadi, shuning uchun dispatcher varianti misoldagi mijozga tegishli.

IPni ayblashdan avval Node mosligini tekshiring

Undici qo‘llaydigan Node versiyalari paket chiqarilishiga bog‘liq. Misol Undici 8.12.3 ishlatadi va Node 22.19.0 yoki yangisini talab qiladi. Modul yuklash yoki dvigatel versiyasi xatosi so‘rov proksiga yetmasdan sodir bo‘ladi. Har bir Node eng yangi Undicini bajaradi deb o‘ylamang, o‘rnatilgan paket talabini tekshiring.

Bir agent takroriy so‘rovlarni bajarishi mumkin

Qisqa dastur oxirida dispatcherni yopadi. Ishlayotgan ilova bir nuqtadan bir nechta so‘rov yuborsa, agentni o‘sha ish uchun saqlang va ish tugaganda yoping. Har URL uchun agent yaratib yopish ulanishni foydali qayta ishlatishga to‘sqinlik qiladi.

Global dispatcher faqat kengroq o‘zgarish niyat qilinganda mos. Uni aniq berish boshqa komponentning chiqish so‘rovlarini o‘zgartirmay proksi IP sinashni osonlashtiradi.

Javob va xato bosqichiga qarang

Fetch har HTTP xato holatini rad etilgan Promise hisoblamaydi. 403 yoki 429 proksi tashigan haqiqiy sayt javobi bo‘lishi mumkin. Ulanish yoki tunnel xatosi esa javob obyekti paydo bo‘lishidan oldin so‘rovni rad etishi mumkin. Holatni chaqiruv chiqaradigan xatolardan alohida o‘qing.

Autentifikatsiya kerak bo‘lsa, Undici ProxyAgent konstruktorda variantlar beradi. Proksi ruxsat sarlavhasini sayt so‘rovi sarlavhalariga qo‘shmang; agent boshqa ulanish qismini boshqaradi.

O'xshash maqolalar