La unua URL povas esti HTTPS kaj la alidirektita URL HTTP. Elektu la agenton laŭ la celo de ĉiu peto, anstataŭ ligi unu agenton al la unua URL.

Por la importita pako node-fetch en ESM-a aplikaĵo, provizu funkcion:

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,
});

Anstataŭigu la API-URL kaj la prokuran finpunkton. Por publika API permesata tra publika peranto, la listo de HTTP-prokuroj liveras kandidatojn por proxyUrl. La du agentoj povas uzi la saman HTTP-prokuran aŭskultilon; iliaj nomoj rilatas al la peto al la celo.

URL transdonita al la elektiloElektita agento
https://…httpsAgent
http://…httpAgent

La funkcio do plu elektas la konforman agenton se alidirektigo ŝanĝas la protokolon de la celo. proxyUrl plu priskribas la peranton, sendepende de tiu decido.

Kreu la agentojn unufoje por la laborŝarĝo kaj reuzu ilin. Traktu la redonitan staton kaj konsumu la respondan korpon en la vokanta kodo. Ĉi tiu agenta interfaco apartenas al node-fetch; la enkonstruita fetch de Node uzas alian transportan interfacon.

Rilataj artikoloj