Indítás proxyval és hitelesítés#
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();Használjon külön munkamenet-azonosítót minden független munkafolyamathoz, ha a hozzárendelt átjáró támogatja. A kapcsolat részleteiben ellenőrizze az engedélyezett időtartamot és helyparamétereket. Egy otthoni eszköz a kért időtartam előtt leválhat; egy ragacsos munkamenet nem garantálja, hogy napokig ugyanazt az IP-címet használja. Rögzített cím esetén hasonlítsa össze a dedikált statikus termékeket.
Böngészőnként egy proxy#
A --proxy-server indítási szintű beállítása a böngésző alapértelmezett útválasztására vonatkozik.A jelenlegi Puppeteer is támogatja a proxyServer-t a browser.createBrowserContext() parancsban, a hitelesítő adatokat pedig a page.authenticate() szolgáltatja. Külön kontextusokat használjon különböző proxy beállításokhoz és külön felhasználóiadat-könyvtárakat az állandó profilok számára; ellenőrizze a kilépést minden kontextusban.
Képek, betűtípusok és médiafájlok blokkolása#
await page.setRequestInterception(true);
page.on("request", (req) => {
const t = req.resourceType();
if (["image", "media", "font", "stylesheet"].includes(t)) return req.abort();
req.continue();
});Konzisztencia#
- Szett
Accept-Languageés a kilépő ország időzónája:page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"})éspage.emulateTimezone(\"Europe/Berlin\"). - WebRTC szivárgások letiltása
--force-webrtc-ip-handling-policy=disable_non_proxied_udpA start argumentumokban. - Tartson meg egy böngészőt fiókonként; használja újra a felhasználói adatkönyvtárát, ha a fióknak visszatérő eszköznek kell lennie.
Hibák, amelyekkel találkozni fog#
| Tünetek | Ok | Fix |
|---|---|---|
| A következő hibaüzenet jelenik meg: ERR_TUNNEL_CONNECTION_FAILED | Az átjáró elutasította a CONNECT-et: hitelesítő adatok, paraméter vagy nincs kilépés | Reprodukálja a cURL -v paranccsal az átjáró kódjának olvasásához |
| net::ERR_PROXY_AUTH_UNSUPPORTED / nem támogatott proxy kapcsolat | A hitelesítés () hívott navigáció után | Hívja a page.authenticate-t goto előtt |
| Ugyanaz az IP minden böngészőben | Ugyanazon munkamenet azonosító újrafelhasználása | Használj böngészőnként külön -sid-et, vagy hagyd ki |
| Nagyon lassú első terhelés | Háztartási kilépés plus nehéz oldal | Blokk erőforrások; növelje az időtúllépést 45 másodpercre |
Kérdések, amiket az emberek feltesznek#
Használhatom a Puppeteer SOCKS5-öt jelszóval?
Használjon HTTP-proxyt a 9000-es porton a page.authenticate paranccsal, vagy engedélyezze szerverének IP-címét a --proxy-server=socks5://res.proxy-cyber.com:9001 paraméter megadásával.