Првиот URL може да биде HTTPS, а пренасочениот URL HTTP. Изберете го агентот според одредиштето на секое барање, наместо да врзете еден агент за првиот URL.

За увезениот пакет node-fetch во ESM апликација, доставете функција:

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

Заменете го URL-то на API и крајната точка на проксито. За јавно API дозволено преку јавен посредник, списокот со HTTP прокси нуди кандидати за proxyUrl. Двата агенти можат да го користат истиот слушател на HTTP прокси; нивните имиња се однесуваат на барањето кон одредиштето.

URL проследен до избирачотИзбран агент
https://…httpsAgent
http://…httpAgent

Затоа функцијата сè уште го избира соодветниот агент ако пренасочувањето го смени протоколот на одредиштето. proxyUrl продолжува да го опишува посредникот, независно од таа одлука.

Создајте ги агентите еднаш за работното оптоварување и користете ги повторно. Обработете го вратениот статус и прочитајте го телото на одговорот во кодот што повикува. Овој интерфејс за агенти и припаѓа на node-fetch; вградениот fetch во Node користи друг транспортен интерфејс.

Поврзани статии