Untuk panggilan HTTPS di sisi Express yang menggunakan kebijakan proxy lingkungan:

import https from 'node:https';
import { ProxyAgent } from 'proxy-agent';

const agent = new ProxyAgent();
const request = https.get('https://service.example/data', { agent }, response => {
  console.log(response.statusCode);
  response.resume();
});
request.on('error', error => console.error(error.message));

Konstruktor ProxyAgent saat ini menerima objek opsi. Tanpa penimpaan, ia membaca kebijakan lingkungan yang didukung melalui proxy-from-env dan memilih agen tingkat lebih rendah untuk URL.

Untuk rute tetap milik aplikasi, ganti pemilihan melalui objek opsi tersebut:

new ProxyAgent({ getProxyForUrl: () => proxyUrl })

Callback konstan tidak menerapkan keputusan NO_PROXY dari lingkungan bawaan. Terapkan pengecualian langsung yang diperlukan di pemilih Anda saat menggantinya.

Untuk panggilan layanan publik yang diizinkan, daftar proxy gratis menyediakan kandidat untuk proxyUrl; pilih protokol yang didukung agen. Skema URL proxy yang dikembalikan menandai protokol perantara; https.get tetap menyebut layanan sebenarnya. Pertahankan agen untuk beban kerjanya dan hancurkan saat dimatikan.

Listener Express menerima permintaan masuk dan tidak mengonfigurasi koneksi keluar ini. fetch berbasis Undici juga memakai input transport lain: fetch Undici dengan ProxyAgent menerima dispatcher, menggunakan rilis paket yang kompatibel dengan runtime Node.

Artikel terkait