Deixar que Undici lea variables de proxy do contorno
Usa EnvHttpProxyAgent de forma deliberada e distingue a prioridade de minúsculas, as exclusións, os URL capturados e o no_proxy dinámico.
Usa EnvHttpProxyAgent cando o contorno do proceso deba escoller a ruta. Usa un Undici ProxyAgent explícito cando o punto final pertenza á configuración do cliente. Pásao á petición real; crear só o axente non cambia ningunha chamada fetch.
import { EnvHttpProxyAgent, fetch } from 'undici';
const dispatcher = new EnvHttpProxyAgent();
try {
const response = await fetch("https://example.com/", {
dispatcher,
signal: AbortSignal.timeout(15000),
});
console.log(response.status);
await response.arrayBuffer();
} finally {
await dispatcher.close();
}Garda isto como proxy-check.mjs nun contorno de módulos ES con Undici dispoñible. Este arranque POSIX proporciona as dúas rutas proxy e unha lista de exclusións baleira:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsSubstitúe o punto de documentación polo teu proxy HTTP ou un candidato da lista de proxies HTTP. As asignacións pertencen a esta execución; outros intérpretes usan outra sintaxe.
En Undici 8.12.3, as variables minúsculas http_proxy, https_proxy e no_proxy teñen prioridade sobre as equivalentes maiúsculas cando existen ambas. Os destinos HTTP e HTTPS escollen os seus propios axustes. Un axuste só HTTP tamén proporciona alternativa para HTTPS; un só HTTPS non cobre HTTP. Non supoñas que se aplica a convención ALL_PROXY doutro cliente.
| Entrada | Cando a usa esta versión |
|---|---|
| Contorno proxy HTTP/HTTPS | Escóllese ao construír o axente. Crea un dispatcher novo despois de cambiar eses puntos. |
no_proxy do contorno | Vólvese comprobar ao enviar as peticións. |
noProxy do construtor | Fixa explicitamente a política de exclusións en lugar de seguir cambios posteriores do contorno. |
As exclusións poden coincidir con hosts e portos opcionais; un asterisco só evita o proxy para todas as peticións. Revisa a coincidencia do destino se o proxy non recibe tráfico.
En Windows, o proceso principal non distingue maiúsculas nos nomes do contorno, así que HTTP_PROXY e http_proxy non son valores independentes. As copias do contorno de Node Worker teñen unha distinción de maiúsculas documentada. Téñeo en conta antes de poñer ambas as grafías para probar a prioridade. O exemplo pecha o dispatcher tras o traballo; consérvao mentres as peticións repetidas necesiten a mesma política de puntos capturada.