Biarkan Undici membaca variabel proxy lingkungan
Gunakan EnvHttpProxyAgent dengan sengaja dan bedakan prioritas huruf kecil, aturan bypass, URL proxy yang ditangkap, dan no_proxy dinamis.
Gunakan EnvHttpProxyAgent jika lingkungan proses harus memilih rute. Gunakan Undici ProxyAgent eksplisit jika endpoint harus menjadi bagian konfigurasi klien. Berikan ke permintaan yang sebenarnya; sekadar membuat agent tidak mengubah panggilan fetch apa pun:
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();
}Simpan kode sebagai proxy-check.mjs dalam lingkungan modul ES yang menyediakan Undici. Peluncuran POSIX ini memberi dua rute proxy dan daftar bypass kosong:
http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjsGanti endpoint dokumentasi dengan proxy HTTP Anda atau kandidat dari daftar proxy HTTP. Penetapan berlaku untuk pemanggilan ini; shell lain memakai sintaks berbeda.
Pada Undici 8.12.3, variabel huruf kecil http_proxy, https_proxy dan no_proxy didahulukan dibanding padanan huruf besar jika keduanya ada. Tujuan HTTP dan HTTPS memilih pengaturannya sendiri. Pengaturan hanya HTTP juga menyediakan fallback HTTPS; hanya HTTPS tidak menyediakan HTTP. Jangan menganggap konvensi ALL_PROXY milik klien lain berlaku.
| Masukan | Kapan rilis ini memakainya |
|---|---|
| Lingkungan proxy HTTP/HTTPS | Dipilih saat agent dibuat. Buat dispatcher baru setelah mengubah endpoint ini. |
no_proxy lingkungan | Diperiksa kembali saat permintaan dikirim. |
noProxy konstruktor | Menetapkan kebijakan bypass secara eksplisit alih-alih mengikuti perubahan lingkungan berikutnya. |
Bypass dapat cocok dengan host dan port opsional; satu tanda bintang melewati proxy untuk semua permintaan. Periksa kecocokan tujuan jika proxy tidak melihat lalu lintas.
Pada Windows, proses utama tidak membedakan huruf besar pada nama lingkungan, sehingga HTTP_PROXY dan http_proxy bukan nilai independen. Salinan lingkungan Node Worker memiliki pembedaan huruf yang didokumentasikan. Perhitungkan itu sebelum menetapkan kedua ejaan untuk menguji prioritas. Contoh menutup dispatcher setelah pekerjaan; pertahankan selama permintaan berulang memerlukan kebijakan endpoint tertangkap yang sama.