Integrasi

Menggunakan proksi dengan Puppeteer dan Chrome tanpa kepala

Atur suatu proksi pada peluncuran peramban atau dalam konteks peramban Puppeteer yang didukung, kemudian pasok kredensial sebelum navigasi. Periksa keluar yang diberikan di dalam setiap konteks dan jaga arus kerja independen dalam sesi terpisah.

2 menit baca 5 bagian Ditinjau Tim editorial Proxy Cyber

Luncurkan dengan proksi dan otentikasi#

Node.js
import puppeteer from "puppeteer";

const browser = await puppeteer.launch({
  headless: true,
  args: ["--proxy-server=http://res.proxy-cyber.com:9000", "--no-first-run"],
});
const page = await browser.newPage();
await page.authenticate({ username: "USER-cc-us-sid-run1-ttl-30m", password: "PASS" });

await page.goto("https://api.ipify.org", { waitUntil: "domcontentloaded", timeout: 45000 });
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();

Gunakan identifikasi sesi yang berbeda untuk setiap aliran kerja independen, dimana gerbang yang diberikan mendukungnya. Konfirmasi durasi dan parameter lokasi yang diizinkan dalam rincian koneksi Anda. Perangkat perumahan dapat terputus sebelum durasi yang diminta; sesi lengket bukan jaminan IP yang sama selama berhari-hari. Untuk alamat tetap, bandingkan produk statis yang berdedikasi.

Satu proxy per browser#

Tingkat launch-level --proxy-server berlaku untuk routing baku browser. Puppeteer kini juga mendukung proxyServer dalam browser.createBrowsertext (), dengan kredensial yang diberikan melalui page.authenticate (). Gunakan konteks terpisah untuk konfigurasi proksi berbeda dan direktori data terpisah untuk persisten profil; verifikasi keluar di dalam setiap konteks.

Gambar blok, fonta, dan media#

Permintaan interception
await page.setRequestInterception(true);
page.on("request", (req) => {
  const t = req.resourceType();
  if (["image", "media", "font", "stylesheet"].includes(t)) return req.abort();
  req.continue();
});

Konsistensi#

  • Set Accept-Language dan zona waktu ke negara keluar: page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"}) dan page.emulateTimezone(\"Europe/Berlin\").
  • Nonaktifkan kebocoran WebRTC dengan --force-webrtc-ip-handling-policy=disable_non_proxied_udp di args peluncuran.
  • Simpan satu peramban per akun; gunakanlah kembali direktori data pengguna bila akun mesti terlihat seperti perangkat kembali.

Galat yang akan Anda temui#

SymptomPenyebabPerbaiki
net:: ERR _ TUNAL _ CONNECTION _ GALATGateway menolak CONNECT: kredensial, parameter atau tidak ada keluarBuat ulang dengan cURL -v untuk membaca kode gateway
net:: ERR _ PROXY _ AUTH _ UNSUPPORTED / promptotentikasi () dipanggil setelah navigasiPanggil page .authenticate sebelum goto
IP yang sama di setiap perambanID sesi yang sama digunakan kembaliGunakan berbeda -sid- per browser atau abaikan
Muatan pertama sangat lambatKeluar rumah tangga ditambah halaman beratSumber daya blok; menaikkan waktu habis hingga 45 s

Pertanyaan yang orang tanyakan#

Bisakah Puppeteer menggunakan SOCKS5 dengan kata sandi?

Chrome tidak mendukung otentikasi SOCKS5. Gunakan proksi HTTP pada port 9000 dengan page.authenticate, atau whitelist server Anda IP dan lulus --proxy-server = socks5: / / res.proxy-cyber.com: 9001.

Akun Anda

Kelola proxy Anda dalam satu akun

Bandingkan jaringan, perintah tempatan dan ikuti permintaan keseimbangan dan dukungan anda dari satu dasbor.

Buat akun