Lo node-fetch den Proxy-Agent no enger Ëmleitung auswielen
Benotz eng Agent-Funktioun fir HTTP- an HTTPS-Ziler, sou datt eng Ëmleitung de passenden Proxy-Agent auswiele kann.
Déi éischt URL kann HTTPS sinn an déi ëmgeleet URL HTTP. Wiel den Agent no dem Zil vun all Ufro, amplaz een Agent un déi éischt URL ze bannen.
Fir de importéierten node-fetch-Paket an enger ESM-Applikatioun, gëff eng Funktioun:
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,
});Ersetz d'API-URL an den Proxy-Endpunkt. Fir eng ëffentlech API, déi iwwer en ëffentlechen Intermédiaire erlaabt ass, liwwert d'HTTP-Proxy-Lëscht Kandidaten fir proxyUrl. Déi zwee Agente kënnen de selwechten HTTP-Proxy-Listener benotzen; hir Nimm bezéien sech op d'Ufro un d'Zil.
| URL, déi un den Auswieler geet | Ausgewielten Agent |
|---|---|
| https://… | httpsAgent |
| http://… | httpAgent |
D'Funktioun wielt deemno nach ëmmer den entspriechende Agent, wann eng Ëmleitung de Protokoll vum Zil ännert. proxyUrl beschreift weider den Intermédiaire, onofhängeg vun där Entscheedung.
Erstell d'Agente meng Kéier fir d'Aarbechtslaascht a benotz se erëm. Behandel de Status, deen zréckkënnt, a lies de Äntwertkierper am opruffende Code. Dës Agent-Interface gehéiert zu node-fetch; de agebaute fetch vun Node benotzt eng aner Transport-Interface.