Luncurkan dengan proksi dan otentikasi#
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 pengenalpasti sesi yang berbeda untuk setiap alur kerja independen, di mana gateway yang ditugaskan mendukungnya. Konfirmasi durasi dan parameter lokasi yang diizinkan dalam rincian koneksi Anda. Sebuah perangkat pemukiman dapat memutuskan sebelum durasi yang diminta; sesi lengket bukan jaminan IP yang sama selama berhari-hari. Untuk alamat tetap, bandingkan produk statik berdedikasi.
Salah satu proxy per browser#
Aras-luncur --proxy-server setting diterapkan pada routing default peramban tersebut. Puppeteeer saat ini juga mendukung proxyServer dalam browser.createBrowserContext(), dengan kredensial yang disediakan melalui page.autentifikasi(). Gunakan konteks terpisah untuk pengaturan proksi yang berbeda dan direktori user-data terpisah untuk profil persisten; verifikasi keluar di dalam setiap konteks.
gambar, font dan media blok witch#
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#
- Khaiya Set
Accept-LanguageDan zona waktu ke negara keluar:page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"})Danpage.emulateTimezone(\"Europe/Berlin\"). - Matikan kebocoran WebRTC dengan
--force-webrtc-ip-handling-policy=disable_non_proxied_udpDi dalam arg peluncuran. - Keep one browser per akun; gunakan kembali direktori data penggunanya jika akun harus terlihat seperti perangkat yang dikembalikan.
Kesalahan Anda akan bertemu#
| Symptom | Penyebab | Fix |
|---|---|---|
| net::ERR TANNEL CONNECTION FAILED | Jalur gerbang menolak kelayakan, parameter atau tidak ada jalan keluar | Memprodusi ulang dengan cURL -v untuk membaca kode gerbang |
| net::ERR PROXY AUTH UNSUPPORTED / promps | Autentifikasi () yang disebut setelah navigasi | Hubungi halaman.autentifikasi sebelum goto |
| IP yang sama di setiap peramban | Nama sesi yang sama digunakan kembali | Gunakan -sid- per browser yang berbeda atau abaikan |
| Sangat lambat beban pertama | Pintu keluar Household plus halaman berat | Sumber daya blok sumber daya; tingkatkan waktu habis ke 45 s |
Pertanyaan orang#
Apa kau bisa menggunakan SOCKS5 dengan password?
Krome tidak mendukung otentikasi SOCKS5. Gunakan proksi HTTP pada port 9000 dengan page.autentifikasi, atau daftar putih IP server Anda dan lulus --proxy-server=socks5://res.proxy-cyber.com:9001.