Neka node-fetch odabere proxy agent nakon preusmeravanja
Koristite funkciju agenta za HTTP i HTTPS odredišta kako bi preusmeravanje moglo da odabere odgovarajući proxy agent.
Prvi URL može biti HTTPS, a preusmereni URL HTTP. Odaberite agent prema odredištu svakog zahteva, umesto da jedan agent vežete za prvi URL.
Za uvezeni paket node-fetch u ESM aplikaciji dostavite 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,
});Zamenite URL API-ja i krajnju tačku proxyja. Za javni API dozvoljen kroz javnog posrednika, lista HTTP proxyja daje kandidate za proxyUrl. Dva agenta mogu koristiti isti HTTP proxy slušalac; njihova imena se odnose na zahtev prema odredištu.
| URL prosleđen selektoru | Odabrani agent |
|---|---|
| https://… | httpsAgent |
| http://… | httpAgent |
Zato funkcija i dalje odabire odgovarajući agent ako preusmeravanje promeni protokol odredišta. proxyUrl i dalje opisuje posrednika, nezavisno od te odluke.
Napravite agente jednom za radno opterećenje i ponovo ih koristite. Obradite vraćeni status i pročitajte telo odgovora u kodu koji poziva. Ovaj interfejs agenta pripada node-fetch-u; ugrađeni fetch u Node-u koristi drugo transportno sučelje.