Proksi bilan ishga tushirish va tasdiqlash#
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();Har bir mustaqil ish oqimi uchun alohida sessiya identifikatorini qoʻllang, agar belgilangan geytni qoʻllab-quvvatlasa. Ulanish maʼlumotlarida ruxsat etilgan vaqt va joy parametrlarini tasdiqlang. Uy qurilmasi talab qilingan vaqtdan oldin uzilishi mumkin; seans kunlar davomida bir xil IP'ga ega boʻlishini kafolatlamaydi. Faqat bitta manzil uchun, ajratilgan statik mahsulot bilan taqqoslang.
Har bir brauzer uchun bitta proksi#
Oʻchirish darajasidagi --proxy-server parametri brauzerning standart yoʻllashiga mos keladi. Hozirgi Puppeteer ham browser.createBrowserContext() da proxyServer'ni qoʻllab-quvvatlaydi, page.authenticate() orqali taqdim etilgan ishonchli maʼlumotlar bilan. Proksi oʻrnatishlari uchun alohida kontekst va doimiy profillar uchun alohida foydalanuvchi maʼlumotlari katalogini ishlating; har bir kontekstda chiqishni tekshiring.
Rasmlar, shriftlar va mediani bloklash#
await page.setRequestInterception(true);
page.on("request", (req) => {
const t = req.resourceType();
if (["image", "media", "font", "stylesheet"].includes(t)) return req.abort();
req.continue();
});Muvofiqlik#
- Set
Accept-Languageva chiqish mamlakati uchun vaqt zonasi:page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"})vapage.emulateTimezone(\"Europe/Berlin\"). - Bu bilan WebRTC sachrashini oʻchirish
--force-webrtc-ip-handling-policy=disable_non_proxied_udpboshlanish argumentlarida. - Har bir hisob uchun bitta brauzerni saqlash; agar hisob qaytaruvchi qurilma koʻrinishida boʻlsa, uning foydalanuvchi maʼlumotlari katalogini qayta ishlatish.
Siz uchrashadigan xatolar#
| Simptomlar | Sabab | Toʻgʻrilash |
|---|---|---|
| net::ERR_TUNNEL_CONNECTION_FAILED | Shlyuz CONNECT'ni rad etdi: ishonchli maʼlumotlar, parametr yoki chiqish yoʻq | Geyt kodini oʻqish uchun cURL -v bilan qayta ishlash |
| net::ERR_PROXY_AUTH_UNSUPPORTED / iltimoslar | Yuklashdan keyin authenticate () chaqirildi | Gotodan oldin page.authenticate ni chaqirish |
| Har bir brauzerda bitta IP | Xuddi shu sessiya ID qaytadan ishlatilmoqda | Har bir brauzer uchun alohida -sid-ni qoʻllash yoki uni qoldirish |
| Birinchi yuklash juda sekin | Uydan chiqish va ogʻir sahifa | Resurslarni bloklash; vaqtni 45 soniyaga oshirish |
Odamlar soʻraydigan savollar.#
Puppeteer maxfiy soʻz bilan SOCKS5'ni ishlata oladimi?
Chrome SOCKS5 autentifikatsiyasini qoʻllamaydi. HTTP proksini page.authenticate bilan 9000 portda ishlating yoki server IP'ingizni oq roʻyxatga kiriting va --proxy-server=socks5://res.proxy-cyber.com:9001 parametrini oʻtkazing.