Cara Menggunakan Proxy dalam Node.js (fetch dan axios)
Node.js 18 dan lebih baru menghantar fetch melalui undici. ProxyAgent menghantar setiap permintaan melalui gateway dengan nama pengguna dan kata laluan anda.
Langkah-langkah
- Pasang undici dengan npm install undici
- Buat ProxyAgent dengan URL gateway dan log masuk anda
- Luluskannya sebagai dispatcher kepada fetch
- Tambahkan kod negara atau id sesi kepada nama pengguna apabila diperlukan
Contoh kod
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());Gantikan USERNAME dan PASSWORD dengan log masuk proxy dari halaman Proxies di konsol. Port 10000 adalah residential HTTP; lihat port setiap produk di bawah.
Petua
- Dengan axios, tetapkan proxy: { protocol: "http", host, port, auth: { username, password } }
- Buat satu agen setiap id sesi apabila anda memerlukan beberapa IP melekat pada masa yang sama
Soalan biasa
Adakah ia berfungsi dengan tapak HTTPS?
Ya. Agen membuka terowong CONNECT ke sasaran, jadi HTTPS kekal terenkripsi dari hujung ke hujung.