Faire lire les variables de proxy à Undici
Utilisez EnvHttpProxyAgent explicitement, comprenez la priorité des minuscules et distinguez les URL capturées des réglages no_proxy dynamiques.
Utilisez EnvHttpProxyAgent quand l’environnement du processus doit choisir le trajet. Préférez un ProxyAgent Undici explicite quand le point d’accès doit faire partie de la configuration du client. Passez-le à la requête réelle : construire l’agent seul ne modifie aucun appel 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();
}Enregistrez ce code sous proxy-check.mjs dans un environnement ES modules où Undici est disponible. Ce lancement POSIX fournit les deux routes proxy et une liste d’exceptions vide :
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsRemplacez le point d’accès de documentation par votre proxy HTTP ou un candidat de la liste de proxies HTTP. Ces affectations concernent cette invocation ; les autres shells ont une syntaxe différente.
Dans Undici 8.12.3, les variables minuscules http_proxy, https_proxy et no_proxy priment sur leurs équivalents majuscules quand les deux existent. Les destinations HTTP et HTTPS choisissent leurs propres réglages. Un réglage HTTP seul sert aussi de repli à HTTPS ; un réglage HTTPS seul ne couvre pas HTTP. Ne supposez pas que la convention ALL_PROXY d’un autre client s’applique.
| Entrée | Moment où cette version l’utilise |
|---|---|
| Environnement proxy HTTP/HTTPS | Choisi à la construction de l’agent. Créez un nouveau dispatcher après modification de ces points d’accès. |
no_proxy dans l’environnement | Relu au moment de distribuer les requêtes. |
noProxy du constructeur | Fixe explicitement la politique d’exceptions au lieu de suivre les changements ultérieurs de l’environnement. |
Les exceptions peuvent correspondre à des hôtes et à des ports facultatifs ; un astérisque seul contourne le proxy pour toutes les requêtes. Vérifiez la correspondance de destination si le proxy ne voit aucun trafic.
Sous Windows, le processus principal traite les noms de variables sans tenir compte de la casse : HTTP_PROXY et http_proxy ne sont donc pas des valeurs indépendantes. Les copies d’environnement des Node Workers ont une distinction de casse documentée. Prenez-la en compte avant de définir les deux écritures pour tester la priorité. L’exemple ferme son dispatcher après le travail ; conservez-le tant que les requêtes répétées ont besoin de la même politique de points d’accès capturée.