Pour un appel HTTPS côté Express utilisant la politique de proxy de l'environnement :

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

Le constructeur actuel de ProxyAgent accepte un objet d'options. Sans substitution, il lit la politique d'environnement prise en charge via proxy-from-env et choisit l'agent de niveau inférieur pour l'URL.

Pour une route fixe propre à l'application, remplacez la sélection via cet objet d'options :

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

Un callback constant n'applique pas les décisions NO_PROXY de l'environnement par défaut. Implémentez les exceptions directes requises dans votre sélecteur lorsque vous le remplacez.

Pour un appel autorisé à un service public, la liste de proxys gratuits fournit des candidats pour proxyUrl ; choisissez un protocole pris en charge par l'agent. Le schéma de l'URL de proxy renvoyée identifie le protocole de l'intermédiaire ; https.get nomme toujours le service réel. Conservez l'agent pour sa charge de travail et détruisez-le à l'arrêt.

L'écouteur Express accepte les requêtes entrantes et ne configure pas cette connexion sortante. Le fetch basé sur Undici utilise aussi une autre entrée de transport : le fetch d'Undici avec ProxyAgent prend un dispatcher, en utilisant une version du paquet compatible avec le runtime Node.

Articles similaires