Biarkan Undici membaca pemboleh ubah proksi persekitaran
Gunakan EnvHttpProxyAgent dengan sengaja dan bezakan keutamaan huruf kecil, pintasan, URL proksi tersimpan dan no_proxy dinamik.
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.mjsGantikan 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.
| Input | Bila keluaran ini menggunakannya |
|---|---|
| Persekitaran proksi HTTP/HTTPS | Dipilih semasa agent dibina. Cipta dispatcher baharu selepas mengubah titik akhir ini. |
no_proxy persekitaran | Diperiksa semula apabila permintaan dihantar. |
noProxy pembina | Menetapkan 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.