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 മറ്റൊരു കണക്ഷൻ ഭാഗം കൈകാര്യം ചെയ്യുന്നു.

അനുബന്ധ ലേഖനങ്ങൾ