Undici ले अनुरोध dispatcher बाट पठाउँछ। छानेको HTTP प्रोक्सीका लागि ProxyAgent बनाई पूरै प्रक्रियाको ग्लोबल dispatcher बदल्नुको सट्टा fetch कललाई दिनुहोस्।

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 विकल्प उदाहरणको क्लाइन्टको हो।

IP लाई दोष दिनुअघि Node अनुकूलता जाँच्नुहोस्

Undici का समर्थित Node संस्करण प्याकेज रिलीजमा भर पर्छन्। उदाहरण Undici 8.12.3 प्रयोग गर्छ, जसलाई Node 22.19.0 वा नयाँ चाहिन्छ। मोड्युल लोड वा इन्जिन संस्करण त्रुटि अनुरोध प्रोक्सी पुग्नुअघि हुन्छ। सबै Node ले नवीनतम Undici चलाउँछ नभनी स्थापित प्याकेजको आवश्यकता हेर्नुहोस्।

एउटै agent ले दोहोरिएका अनुरोध सम्हाल्न सक्छ

छोटो प्रोग्रामले अन्त्यमा dispatcher बन्द गर्छ। चलिरहेको एपले उही एन्डपोइन्टबाट धेरै अनुरोध पठाए agent त्यो कामका लागि राखेर काम सकिँदा बन्द गर्नुहोस्। प्रत्येक URL मा agent बनाउने र बन्द गर्ने कामले उपयोगी जडान पुनःप्रयोग रोक्छ।

ग्लोबल dispatcher व्यापक परिवर्तन चाहेकै बेला मात्र उपयुक्त हुन्छ। स्पष्ट दिँदा अर्को घटकका बाहिर जाने अनुरोध नबदली प्रोक्सी IP परीक्षण सजिलो हुन्छ।

जवाफ र असफल चरण हेर्नुहोस्

fetch ले हरेक HTTP त्रुटि अवस्थालाई अस्वीकृत Promise मान्दैन। 403 वा 429 प्रोक्सीबाट आएको वेबसाइटको वास्तविक जवाफ हुन सक्छ। जडान वा टनेल त्रुटिले जवाफ वस्तु बन्नुअघि अनुरोध अस्वीकार गर्न सक्छ। अवस्था र कलले फ्याँकेका त्रुटि अलग पढ्नुहोस्।

प्रमाणीकरण चाहिए Undici को ProxyAgent ले कन्स्ट्रक्टर विकल्प दिन्छ। वेबसाइट अनुरोध हेडरमा प्रोक्सी अधिकार हेडर नथप्नुहोस्; agent ले अर्को जडान खण्ड सम्हाल्छ।

सम्बन्धित लेखहरू