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 ଅନ୍ୟ ସଂଯୋଗ ଅଂଶ ସମ୍ଭାଳେ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ