Integrationer · Mellemliggende niveau

Brug af proxyservere med Puppeteer og headless Chrome

Indstil en proxy ved browserstart eller i en understøttet Puppeteer-browserkontekst, og angiv derefter legitimationsoplysninger før navigation.Tjek den tildelte afslutning inden for hver kontekst, og hold uafhængige arbejdsprocesser i separate sessioner.

2 min læsning 5 sektioner Gennemgået Redaktionsteamet Proxy Cyber

Start med en proxy og godkend#

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();

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#

Anmodning om aflytning
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-Language og tidszonen til udgangslandet: page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"}) og page.emulateTimezone(\"Europe/Berlin\").
  • Deaktiver WebRTC-lækager med --force-webrtc-ip-handling-policy=disable_non_proxied_udp i 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ÅrsagFix
ERR_TUNNEL_CONNECTION_FAILEDGateway afviste CONNECT: legitimationsoplysninger, parameter eller ingen exitGengiv med cURL -v for at læse gateway-koden
net::ERR_PROXY_AUTH_UNSUPPORTED / promptsauthenticate () kaldes efter navigationRing page.authenticate før goto
Samme IP i alle browsereSamme sessions-id genbrugesBrug en særskilt -sid- pr. browser eller udelad den
Meget langsom første belastningHusholdnings udgang plus tung sideBloker 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.

Din konto er blevet oprettet

Administrer alle dine proxyer fra én konto

Sammenlign netværk, placer ordrer og følg din saldo og supportanmodninger fra ét dashboard Vores team gennemgår betalinger og giver forbindelsesoplysninger efter levering.

Opret konto