રીડાયરેક્ટ પછી 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 અલગ ટ્રાન્સપોર્ટ ઇન્ટરફેસ વાપરે છે.