Gunakan EnvHttpProxyAgent apabila persekitaran proses patut memilih laluan. Gunakan Undici ProxyAgent yang jelas apabila titik akhir patut menjadi sebahagian konfigurasi klien. Berikannya kepada permintaan sebenar; sekadar membina agent tidak mengubah mana-mana panggilan 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();
}

Simpan ini sebagai proxy-check.mjs dalam persekitaran modul ES yang mempunyai Undici. Pelancaran POSIX ini membekalkan dua laluan proksi dan senarai pintasan kosong:

http_proxy=http://203.0.113.10:8080 \
https_proxy=http://203.0.113.10:8080 \
no_proxy= \
node proxy-check.mjs

Gantikan titik akhir dokumentasi dengan proksi HTTP anda atau calon daripada senarai proksi HTTP. Penetapan itu untuk panggilan ini; shell lain menggunakan sintaks berbeza.

Dalam Undici 8.12.3, huruf kecil http_proxy, https_proxy dan no_proxy diutamakan berbanding padanan huruf besar apabila kedua-duanya wujud. Destinasi HTTP dan HTTPS memilih tetapan masing-masing. Tetapan HTTP sahaja turut menyediakan sandaran HTTPS; HTTPS sahaja tidak menyediakan HTTP. Jangan anggap konvensyen ALL_PROXY klien lain terpakai.

InputBila keluaran ini menggunakannya
Persekitaran proksi HTTP/HTTPSDipilih semasa agent dibina. Cipta dispatcher baharu selepas mengubah titik akhir ini.
no_proxy persekitaranDiperiksa semula apabila permintaan dihantar.
noProxy pembinaMenetapkan dasar pintasan secara jelas dan tidak mengikut perubahan persekitaran kemudian.

Pintasan boleh sepadan dengan hos dan port pilihan; satu asterisk sahaja memintas proksi bagi semua permintaan. Semak padanan destinasi jika proksi tidak melihat trafik.

Pada Windows, proses utama tidak membezakan huruf besar dalam nama persekitaran, jadi HTTP_PROXY dan http_proxy bukan nilai bebas. Salinan persekitaran Node Worker mempunyai perbezaan peka huruf yang didokumenkan. Ambil kira sebelum menetapkan kedua-dua ejaan untuk menguji keutamaan. Contoh menutup dispatcher selepas kerja; kekalkannya selagi permintaan berulang memerlukan dasar titik akhir tersimpan yang sama.

Artikel berkaitan