Cara Menggunakan Proxy di Node.js (fetch dan axios)
Node.js 18 dan yang lebih baru menyediakan fetch melalui undici. ProxyAgent mengirim setiap permintaan melalui gateway dengan username dan password Anda.
Langkah-langkah
- Instal undici dengan npm install undici
- Buat ProxyAgent dengan URL gateway dan login Anda
- Masukkan sebagai dispatcher ke fetch
- Tambahkan kode negara atau session id ke username jika diperlukan
Contoh kode
import { ProxyAgent, fetch } from "undici";
const agent = new ProxyAgent({
uri: "http://gw.gbproxies.cc:10000",
token: "Basic " + Buffer.from("USERNAME-cc-de:PASSWORD").toString("base64"),
});
const r = await fetch("https://api.ipify.org?format=json", { dispatcher: agent });
console.log(await r.json());Ganti USERNAME dan PASSWORD dengan login proxy dari halaman Proxies di konsol. Port 10000 adalah HTTP residential; lihat port setiap produk di bawah.
Tips
- Dengan axios, atur proxy: { protocol: "http", host, port, auth: { username, password } }
- Buat satu agent per session id ketika Anda membutuhkan beberapa sticky IP sekaligus
Pertanyaan umum
Apakah ini bekerja dengan situs HTTPS?
Ya. Agent membuka terowongan CONNECT ke target, sehingga HTTPS tetap terenkripsi dari ujung ke ujung.