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 બીજો જોડાણ ભાગ સંભાળે છે.

સંબંધિત લેખો