రీడైరెక్ట్ తర్వాత 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 వేరే రవాణా ఇంటర్ఫేస్ను ఉపయోగిస్తుంది.