Para uma chamada HTTPS do lado do Express que usa a política de proxy do ambiente:

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

O construtor atual de ProxyAgent recebe um objeto de opções. Sem substituição, ele lê a política de ambiente suportada via proxy-from-env e escolhe o agente de nível inferior para o URL.

Para uma rota fixa pertencente à aplicação, substitua a seleção por esse objeto de opções:

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

Um callback constante não aplica as decisões NO_PROXY do ambiente predefinido. Ao substituí-lo, implemente as exceções diretas necessárias no seu seletor.

Para uma chamada permitida a um serviço público, a lista de proxies gratuitos fornece candidatos para proxyUrl; escolha um protocolo suportado pelo agente. O esquema do URL de proxy devolvido identifica o protocolo do intermediário; https.get ainda nomeia o serviço real. Mantenha o agente para a sua carga de trabalho e destrua-o ao encerrar.

O listener do Express aceita pedidos recebidos e não configura esta ligação de saída. O fetch baseado em Undici também usa outra entrada de transporte: fetch do Undici com ProxyAgent recebe um dispatcher, usando uma versão do pacote compatível com o runtime do Node.

Artigos relacionados