Objek agent milik Got dikunci menurut protokol tujuan. Karena itu koneksi SOCKS untuk URL HTTPS berada di bawah https, bukan di bawah kunci baru bernama socks.

Untuk aplikasi ESM yang sudah ada dan memakai Got serta socks-proxy-agent pada jalur HTTP/1:

import got from 'got';
import {SocksProxyAgent} from 'socks-proxy-agent';

const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const body = await got('https://www.example.org/', {
  http2: false,
  agent: {
    http: agent,
    https: agent,
  },
  timeout: {request: 20000},
}).text();

Daftar proxy SOCKS5 menyediakan kandidat untuk URL proxy tanpa akun pada contoh. Agen yang sama dapat menangani entri HTTP dan HTTPS yang ditampilkan. Agen ini membangun koneksi SOCKS, lalu jalur HTTPS melakukan jabat tangan TLS dengan tujuan.

Pada agen ini socks5h menyerahkan resolusi nama host tujuan kepada proxy SOCKS. socks5 memilih resolusi lokal. Nama host proxy itu sendiri tetap harus dapat dijangkau dari proses Node.

Slot agen HTTP/2 milik Got mengharapkan antarmuka berbeda. Jangan menyalin agen ini ke agent.http2 dan menganggapnya memberi dukungan proxy HTTP/2.

Gunakan kembali agen yang sudah dikonfigurasi untuk beban kerja dan hancurkan saat pemiliknya dimatikan. Sesuaikan versi paket dengan runtime Node aplikasi; contoh ini memakai ekspor SocksProxyAgent yang bernama.

Artikel terkait