ରିଡାଇରେକ୍ଟ ପରେ node-fetch କୁ ପ୍ରକ୍ସି ଏଜେଣ୍ଟ ବାଛିବାକୁ ଦିଅନ୍ତୁ
HTTP ଏବଂ HTTPS ଲକ୍ଷ୍ୟ ପାଇଁ ଏଜେଣ୍ଟ ଫଙ୍କସନ ଦିଅନ୍ତୁ, ଯାହାଫଳରେ ରିଡାଇରେକ୍ଟ ସଠିକ ପ୍ରକ୍ସି ଏଜେଣ୍ଟ ବାଛିପାରିବ।
ପ୍ରଥମ URL HTTPS ହୋଇପାରେ ଏବଂ ରିଡାଇରେକ୍ଟ ହୋଇଥିବା URL HTTP ହୋଇପାରେ। ଗୋଟିଏ ଏଜେଣ୍ଟକୁ ପ୍ରଥମ URL ସହ ବାନ୍ଧିବା ପରିବର୍ତ୍ତେ ପ୍ରତ୍ୟେକ ଅନୁରୋଧର ଲକ୍ଷ୍ୟ ଅନୁସାରେ ଏଜେଣ୍ଟ ବାଛନ୍ତୁ।
ESM ଆପ୍ଲିକେସନରେ ଆମଦାନୀ କରାଯାଇଥିବା node-fetch ପ୍ୟାକେଜ ପାଇଁ ଏକ ଫଙ୍କସନ ଦିଅନ୍ତୁ:
import fetch from 'node-fetch';
import { HttpProxyAgent } from 'http-proxy-agent';
import { HttpsProxyAgent } from 'https-proxy-agent';
const proxyUrl = 'http://proxy.example:8080';
const httpAgent = new HttpProxyAgent(proxyUrl);
const httpsAgent = new HttpsProxyAgent(proxyUrl);
const response = await fetch('https://api.example/', {
agent: url => url.protocol === 'http:' ? httpAgent : httpsAgent,
});API URL ଏବଂ ପ୍ରକ୍ସି ଏଣ୍ଡପଏଣ୍ଟ ବଦଳାନ୍ତୁ। ସାର୍ବଜନୀନ ମଧ୍ୟସ୍ଥ ମାଧ୍ୟମରେ ଅନୁମତିପ୍ରାପ୍ତ ସାର୍ବଜନୀନ API ପାଇଁ HTTP ପ୍ରକ୍ସି ତାଲିକା proxyUrl ପାଇଁ ପ୍ରାର୍ଥୀ ଦିଏ। ଦୁଇଟି ଏଜେଣ୍ଟ ଏକ ସମାନ HTTP ପ୍ରକ୍ସି ଶ୍ରୋତା ବ୍ୟବହାର କରିପାରିବେ; ସେମାନଙ୍କ ନାମ ଲକ୍ଷ୍ୟ ଅନୁରୋଧକୁ ସୂଚାଏ।
| ଚୟନକର୍ତ୍ତାକୁ ଦିଆଯାଇଥିବା URL | ଚୟନିତ ଏଜେଣ୍ଟ |
|---|---|
| https://… | httpsAgent |
| http://… | httpAgent |
ତେଣୁ ରିଡାଇରେକ୍ଟ ଲକ୍ଷ୍ୟର ପ୍ରୋଟୋକଲ ବଦଳାଇଲେ ମଧ୍ୟ ଫଙ୍କସନ ମେଳଖାଉଥିବା ଏଜେଣ୍ଟ ବାଛେ। proxyUrl ସେହି ନିଷ୍ପତ୍ତିରୁ ସ୍ୱାଧୀନ ଭାବରେ ମଧ୍ୟସ୍ଥର ବର୍ଣ୍ଣନା କରିଚାଲେ।
କାର୍ଯ୍ୟଭାର ପାଇଁ ଏଜେଣ୍ଟ ଦୁଇଟି ଥରେ ତିଆରି କରି ପୁଣି ବ୍ୟବହାର କରନ୍ତୁ। ଫେରାଯାଇଥିବା ସ୍ଥିତି ସମ୍ଭାଳନ୍ତୁ ଏବଂ କଲିଂ କୋଡରେ ପ୍ରତିକ୍ରିୟା ଶରୀର ପଢ଼ନ୍ତୁ। ଏହି ଏଜେଣ୍ଟ ଇଣ୍ଟରଫେସ node-fetch ର; Node ର ଅନ୍ତର୍ନିହିତ fetch ଅନ୍ୟ ଟ୍ରାନ୍ସପୋର୍ଟ ଇଣ୍ଟରଫେସ ବ୍ୟବହାର କରେ।