Cara Menggunakan Proxy dengan Autentikasi di Puppeteer
Chrome mengambil host dan port proxy sebagai flag peluncuran, dan Puppeteer menjawab prompt login dengan page.authenticate.
Langkah-langkah
- Luncurkan Chrome dengan --proxy-server=host:port
- Panggil page.authenticate dengan username dan password proxy Anda
- Aktifkan intercept permintaan untuk memblokir gambar dan font
- Buka satu browser per session id untuk IP yang tetap
Contoh kode
import puppeteer from "puppeteer";
const browser = await puppeteer.launch({ args: ["--proxy-server=gw.gbproxies.cc:10000"] });
const page = await browser.newPage();
await page.authenticate({ username: "USERNAME-cc-fr-sid-shop1-ttl-30", password: "PASSWORD" });
await page.setRequestInterception(true);
page.on("request", (r) => (["image", "font", "media"].includes(r.resourceType()) ? r.abort() : r.continue()));
await page.goto("https://api.ipify.org");
console.log(await page.content());
await browser.close();Ganti USERNAME dan PASSWORD dengan login proxy dari halaman Proxies di konsol. Port 10000 adalah HTTP residential; lihat port setiap produk di bawah.
Tips
- Memblokir gambar sering mengurangi lalu lintas per halaman lebih dari setengah
- Session id yang tetap mempertahankan IP yang sama untuk seluruh alur penelusuran
Pertanyaan umum
Mengapa Chrome masih menampilkan popup login?
page.authenticate harus dijalankan sebelum navigasi pertama halaman tersebut.