Undici’nin proxy ortam değişkenlerini okumasını sağlayın
EnvHttpProxyAgent’i bilinçli kullanın; küçük harf önceliğini, atlama kurallarını, yakalanan proxy URL’lerini ve dinamik no_proxy’yi ayırt edin.
Yolu süreç ortamının seçmesi gerekiyorsa EnvHttpProxyAgent kullanın. Uç nokta istemci yapılandırmasına ait olmalıysa açık bir Undici ProxyAgent kullanın. Gerçek isteğe bağlayın; yalnızca agent oluşturmak hiçbir fetch çağrısını değiştirmez:
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();
}Kodu Undici’nin bulunduğu ES modül ortamında proxy-check.mjs olarak kaydedin. Bu POSIX başlatması iki proxy yolunu ve boş bir atlama listesini sağlar:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsBelgeleme uç noktasını kendi HTTP proxy’nizle veya HTTP proxy listesinden bir adayla değiştirin. Atamalar bu çalıştırmaya aittir; diğer kabuklar farklı sözdizimi kullanır.
Undici 8.12.3’te küçük harfli http_proxy, https_proxy ve no_proxy, her ikisi de varsa büyük harfli karşılıklarından önceliklidir. HTTP ve HTTPS hedefleri kendi ayarlarını seçer. Yalnız HTTP ayarı HTTPS için de yedek sağlar; yalnız HTTPS ayarı HTTP sağlamaz. Başka bir istemcinin ALL_PROXY kuralının geçerli olduğunu varsaymayın.
| Girdi | Bu sürüm ne zaman kullanır? |
|---|---|
| HTTP/HTTPS proxy ortamı | Agent oluşturulurken seçilir. Bu uç noktaları değiştirdikten sonra yeni dispatcher oluşturun. |
Ortamdaki no_proxy | İstekler gönderilirken yeniden kontrol edilir. |
Oluşturucudaki noProxy | Sonraki ortam değişikliklerini izlemek yerine atlama politikasını açıkça sabitler. |
Atlamalar ana makinelere ve isteğe bağlı portlara uyabilir; tek yıldız her istekte proxy’yi atlar. Proxy trafik görmüyorsa hedef eşleşmesini inceleyin.
Windows’ta ana süreç ortam adlarında harf boyutunu ayırt etmez; HTTP_PROXY ile http_proxy bağımsız değerler değildir. Node Worker ortam kopyalarında belgelenmiş bir harf boyutu ayrımı vardır. Önceliği denemek için iki yazımı da ayarlamadan önce bunu dikkate alın. Örnek iş bitince dispatcher’ı kapatır; tekrarlanan istekler aynı yakalanmış uç nokta politikasına ihtiyaç duyduğu sürece onu tutun.