Voor een HTTPS-aanroep aan de Express-kant die het proxybeleid van de omgeving gebruikt:

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

De huidige ProxyAgent-constructor neemt een optieobject. Zonder overschrijving leest hij het ondersteunde omgevingsbeleid via proxy-from-env en kiest hij de agent op een lager niveau voor de URL.

Voor een vaste route die de applicatie bezit, vervang je de selectie via dat optieobject:

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

Een constante callback past de NO_PROXY-beslissingen van de standaardomgeving niet toe. Implementeer de vereiste directe uitzonderingen in je selector wanneer je die vervangt.

Voor een toegestane openbare dienstaanroep levert de lijst met gratis proxies kandidaten voor proxyUrl; kies een protocol dat de agent ondersteunt. Het schema van de teruggegeven proxy-URL geeft het protocol van de tussenpartij aan; https.get noemt nog steeds de echte dienst. Houd de agent aan voor zijn werklast en vernietig hem bij het afsluiten.

De Express-listener accepteert inkomende verzoeken en configureert deze uitgaande verbinding niet. fetch op basis van Undici gebruikt ook een andere transportinvoer: Undici fetch met ProxyAgent neemt een dispatcher, met een pakketrelease die compatibel is met de Node-runtime.

Gerelateerde artikelen