Start med en proxy og godkend#
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();Brug et særskilt sessions-id til hver uafhængig arbejdsgang, hvor den tildelte gateway understøtter det. Bekræft de tilladte varigheds- og placeringsparametre i dine forbindelsesoplysninger. En hjemmeenhed kan afbryde forbindelsen før den ønskede varighed; en fastlåst session er ikke en garanti for samme IP i dagevis. For en fast adresse skal du sammenligne med et dedikeret statisk produkt.
Én proxy pr. browser#
Indstillingen --proxy-server på opstartsniveauet gælder for den browsers standardruting. Nuværende Puppeteer understøtter også proxyServer i browser.createBrowserContext(), med legitimationsoplysninger leveret via page.authenticate(). Brug separate kontekster til forskellige proxyindstillinger og separate brugerdatamapper til vedvarende profiler; bekræft afslutningen indenfor hver kontekst.
Bloker billeder, skrifttyper og medier#
await page.setRequestInterception(true);
page.on("request", (req) => {
const t = req.resourceType();
if (["image", "media", "font", "stylesheet"].includes(t)) return req.abort();
req.continue();
});Konsistens#
- Sæt
Accept-Languageog tidszonen til udgangslandet:page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"})ogpage.emulateTimezone(\"Europe/Berlin\"). - Deaktiver WebRTC-lækager med
--force-webrtc-ip-handling-policy=disable_non_proxied_udpi lanceringen args. - Behold én browser pr. konto; genbrug dens brugerdatamappe, hvis kontoen skal se ud som en returnerende enhed.
Fejl, du vil møde#
| Symptomer | Årsag | Fix |
|---|---|---|
| ERR_TUNNEL_CONNECTION_FAILED | Gateway afviste CONNECT: legitimationsoplysninger, parameter eller ingen exit | Gengiv med cURL -v for at læse gateway-koden |
| net::ERR_PROXY_AUTH_UNSUPPORTED / prompts | authenticate () kaldes efter navigation | Ring page.authenticate før goto |
| Samme IP i alle browsere | Samme sessions-id genbruges | Brug en særskilt -sid- pr. browser eller udelad den |
| Meget langsom første belastning | Husholdnings udgang plus tung side | Bloker ressourcer; hæv timeout til 45 sek. |
Spørgsmål folk stiller#
Kan Puppeteer bruge SOCKS5 med en adgangskode?
Chrome understøtter ikke SOCKS5-godkendelse. Brug HTTP-proxy på port 9000 med page.authenticate, eller sæt din server-IP på hvidlisten og videresend --proxy-server=socks5://res.proxy-cyber.com:9001.