Agen yang mendukung SOCKS dapat membangun koneksi tujuan untuk klien HTTPS inti Node. Dengan socks-proxy-agent tersedia di aplikasi:

const https = require('node:https');
const { SocksProxyAgent } = require('socks-proxy-agent');

const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const request = https.get('https://www.example.com/', {
  agent,
  signal: AbortSignal.timeout(15000),
}, (response) => {
  console.log(response.statusCode);
  response.on('error', console.error);
  response.resume();
});
request.on('error', console.error);

Ganti endpoint contoh dengan kandidat tanpa autentikasi dari daftar proxy SOCKS5 untuk permintaan HTTPS publik ini. Callback menguras respons setelah mencetak statusnya; konsumsi isi di sana jika aplikasi membutuhkannya. Gunakan kembali agen untuk operasi yang ditugaskan padanya, lalu hancurkan saat kebijakan klien itu dihentikan dan pekerjaannya selesai.

Pilih tempat nama tujuan diresolusikan

Dalam penanganan URL socks-proxy-agent, socks5h menyerahkan resolusi nama host tujuan ke jalur proxy; socks5 menyelesaikannya secara lokal. Ini penting bila nama hanya tersedia di jaringan proxy.

URL HTTPS mempertahankan identitas situs web. Agen melakukan negosiasi SOCKS sebelum Node memulai TLS ke situs tersebut.

Untuk layanan dengan nama pengguna/kata sandi, letakkan kredensial di URL proxy menggunakan pengodean komponen URI untuk karakter yang dicadangkan. Jauhkan URL lengkap dari log. Header Authorization tujuan milik akun situs web.

Agen ini bekerja dengan API permintaan HTTP/HTTPS inti Node. fetch Node menggunakan antarmuka dispatcher, jadi konfigurasikan integrasi SOCKS yang didukung klien itu secara terpisah.

Artikel terkait