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 ಮತ್ತೊಂದು ಸಂಪರ್ಕ ಭಾಗ ನೋಡಿಕೊಳ್ಳುತ್ತದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು