Для HTTPS-выкліку з боку Express, які выкарыстоўвае проксі-палітыку асяроддзя:

import https from 'node:https';
import { ProxyAgent } from 'proxy-agent';

const agent = new ProxyAgent();
const request = https.get('https://service.example/data', { agent }, response => {
  console.log(response.statusCode);
  response.resume();
});
request.on('error', error => console.error(error.message));

Цяперашні канструктар ProxyAgent прымае аб'ект опцый. Без перазапісу ён чытае падтрыманую палітыку асяроддзя праз proxy-from-env і выбірае ніжэйшы агент для URL.

Для фіксаванага маршруту, які належыць праграме, заменіце выбар праз гэты аб'ект опцый:

new ProxyAgent({ getProxyForUrl: () => proxyUrl })

Пастаянны callback не ўжывае рашэнні NO_PROXY стандартнага асяроддзя. Рэалізуйце патрэбныя прамыя выключэнні ў сваім селектары пры яго замене.

Для дазволенага выкліку публічнай службы спіс бясплатных проксі дае кандыдатаў для proxyUrl; выберыце пратакол, які падтрымлівае агент. Схема вернутага proxy URL паказвае пратакол пасярэдніка; https.get па-ранейшаму называе рэальную службу. Захоўвайце агент для яго нагрузкі і знішчайце яго пры закрыцці.

Слухач Express прымае ўваходныя запыты і не наладжвае гэта зыходнае злучэнне. fetch на базе Undici таксама выкарыстоўвае іншы ўваход транспарту: fetch у Undici з ProxyAgent прымае dispatcher, выкарыстоўваючы выпуск пакета, сумяшчальны з асяроддзем выканання Node.

Падобныя артыкулы