ری ڈائریکٹ کے بعد 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 مختلف ٹرانسپورٹ انٹرفیس استعمال کرتا ہے۔