Ļaujiet node-fetch izvēlēties starpniekservera aģentu pēc pāradresācijas
Izmantojiet aģenta funkciju HTTP un HTTPS galamērķiem, lai pāradresācija varētu izvēlēties atbilstošo starpniekservera aģentu.
Pirmais URL var būt HTTPS, bet pāradresētais URL — HTTP. Izvēlieties aģentu pēc katra pieprasījuma galamērķa, nevis piesaistiet vienu aģentu pirmajam URL.
ESM lietojumprogrammā importētajai node-fetch pakotnei nodrošiniet funkciju:
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,
});Aizstājiet API URL un starpniekservera galapunktu. Publiskam API, kas atļauts caur publisku starpnieku, HTTP starpniekserveru saraksts piedāvā kandidātus proxyUrl. Abi aģenti var izmantot vienu un to pašu HTTP starpniekservera klausītāju; to nosaukumi attiecas uz pieprasījumu uz galamērķi.
| URL, kas nodots atlasītājam | Atlasītais aģents |
|---|---|
| https://… | httpsAgent |
| http://… | httpAgent |
Tāpēc funkcija joprojām izvēlas atbilstošo aģentu, ja pāradresācija maina galamērķa protokolu. proxyUrl turpina aprakstīt starpnieku neatkarīgi no šī lēmuma.
Izveidojiet aģentus vienu reizi darba slodzei un izmantojiet tos atkārtoti. Apstrādājiet atgriezto statusu un lasiet atbildes pamattekstu izsaucošajā kodā. Šī aģenta saskarne pieder node-fetch; Node iebūvētais fetch izmanto citu transporta saskarni.