Jei Express pusėje atliekamas HTTPS iškvietimas pagal aplinkos proxy taisykles:

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

Dabartinis ProxyAgent konstruktorius priima parinkčių objektą. Be pakeitimų jis nuskaito palaikomą aplinkos politiką per proxy-from-env ir parenka žemesnio lygio agentą tam URL.

Jei aplikacija valdo fiksuotą maršrutą, pasirinkimą pakeiskite per tą parinkčių objektą:

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

Pastovus callback netaiko numatytosios aplinkos NO_PROXY sprendimų. Pakeisdami jį, savo selektoriuje įgyvendinkite būtinas tiesiogines išimtis.

Leidžiamam viešosios paslaugos iškvietimui nemokamų proxy sąrašas pateikia proxyUrl kandidatus; pasirinkite protokolą, kurį agentas palaiko. Grąžinto proxy URL schema nurodo tarpininko protokolą; https.get vis tiek nurodo tikrąją paslaugą. Laikykite agentą jo darbui ir sunaikinkite jį išjungdami.

Express listener priima gaunamas užklausas ir nesukonfigūruoja šio siunčiamo ryšio. Undici pagrindu veikiantis fetch taip pat naudoja kitą transporto įvestį: Undici fetch su ProxyAgent priima dispatcher, naudojant su Node vykdymo aplinka suderinamą paketo leidimą.

Susiję straipsniai