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.mjs

Ganti 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.

MasukanKapan rilis ini memakainya
Lingkungan proxy HTTP/HTTPSDipilih saat agent dibuat. Buat dispatcher baru setelah mengubah endpoint ini.
no_proxy lingkunganDiperiksa kembali saat permintaan dikirim.
noProxy konstruktorMenetapkan 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.

Artikel terkait