Undici רוטירט אַ בקשה דורך אַ dispatcher. שאַפֿט אַ ProxyAgent פֿאַרן אויסגעקליבענעם HTTP־פּראָקסי און גיט אים צום fetch־רוף אַנשטאָט צו בײַטן דעם גלאָבאַלן dispatcher פֿונעם גאַנצן פּראָצעס.

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־אָפּציע געהערט צום געוויזענעם קליענט.

קאָנטראָלירט Node־קאָמפּאַטיביליטעט איידער איר באַשולדיקט דעם IP

די Node־ווערסיעס וואָס Undici שטיצט הענגען אָפּ פֿונעם פּאַקעט־אַרויסלאָז. דער בײַשפּיל ניצט Undici 8.12.3 וואָס פֿאָדערט Node 22.19.0 אָדער נײַער. אַ מאָדול־לאָדונג־ אָדער מאָטאָרווערסיע־טעות קומט איידער די בקשה דערגרייכט אַ פּראָקסי. קאָנטראָלירט די פֿאָדערונג פֿונעם אינסטאַלירטן פּאַקעט אַנשטאָט צו מיינען אַז יעדער Node פֿירט אויס דעם נײַסטן Undici.

איין agent קען באַדינען איבערגעחזרטע בקשות

דער קורצער פּראָגראַם פֿאַרמאַכט זײַן dispatcher בײַם סוף. אויב אַ לויפֿנדיקע אַפּליקאַציע שיקט עטלעכע בקשות דורכן זעלבן ענדפּונקט, האַלט דעם agent פֿאַר דער אַרבעט און פֿאַרמאַכט אים ווען זי ענדיקט זיך. שאַפֿן און פֿאַרמאַכן אַן agent פֿאַר יעדן URL שטערט נוצלעכע ווידערנוצונג פֿון פֿאַרבינדונגען.

אַ גלאָבאַלער dispatcher פּאַסט נאָר ווען איר ווילט די ברייטערע ענדערונג. עקספּליציט איבערגעבן מאַכט גרינגער צו טעסטן אַ פּראָקסי-IP אָן צו בײַטן אַרויסגייענדיקע בקשות פֿון אַן אַנדער קאָמפּאָנענט.

קוקט דעם ענטפֿער און דעם דורכפֿאַל־שטאַפּל

Fetch באַהאַנדלט ניט יעדן HTTP־פֿעלערסטאַטוס ווי אַ אָפּגעזאָגטן Promise. 403 אָדער 429 קען זײַן אַן אמתער וועבזײַט־ענטפֿער געטראָגן דורכן פּראָקסי. אַ פֿאַרבינדונג־ אָדער טונעל־טעות קען אַנשטאָט אָפּזאָגן די בקשה איידער אַן ענטפֿעראָביעקט עקזיסטירט. לייענט סטאַטוס באַזונדער פֿון טעותן וואָס דער רוף וואַרפֿט.

אויב אויטענטיפֿיקאַציע איז נייטיק, האָט Undici'ס ProxyAgent אָפּציעס אינעם קאָנסטרוקטאָר. לייגט ניט קיין פּראָקסי־אויטאָריזאַציע־קאָפּ צו די בקשה־קעפּלעך פֿונעם פּלאַץ; דער agent באַהאַנדלט אַן אַנדער פֿאַרבינדונגסשפּרונג.

פֿאַרבונדענע אַרטיקלען