Integrasjoner · Mellomliggende nivå

Bruke proxyer med Puppeteer og hodeløs Chrome

Angi en proxy ved nettleserstart eller i en støttet Puppeteer-nettleserkontekst, og oppgi legitimasjon før navigasjon.Sjekk den tildelte avslutning i hver kontekst, og hold uavhengige arbeidsflyter i separate økter.

2 min lesetid 5 seksjoner Gjennomgått Redaksjonsteamet Proxy Cyber

Start med en proxy og autentiser#

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

Bruk en distinkt øktidentifikator for hver uavhengige arbeidsflyt, der den tildelte gatewayen støtter det. Bekreft tillatt varighet og plasseringsparametre i dine forbindelsesdetaljer. En hjemmeenhet kan koble fra før forespurt varighet; en fast økt er ikke en garanti for samme IP i dager. For en fast adresse, sammenlign et dedikert statisk produkt.

Én proxy per nettleser#

Oppstartsnivå -- proxy- server innstillingen gjelder for den nettleserens standard ruting. Nåværende Puppeteer støtter også proxyServer i browser. createBrowserContext (), med legitimasjon levert gjennom page. authenticate (). Bruk separate kontekster for forskjellige proxy- innstillinger og separate brukerdata kataloger for vedvarende profiler; verifisere utgangen inne hver sammenheng.

Blokkere bilder, fonter og medier#

Be om avlytting
await page.setRequestInterception(true);
page.on("request", (req) => {
  const t = req.resourceType();
  if (["image", "media", "font", "stylesheet"].includes(t)) return req.abort();
  req.continue();
});

Konsekvens#

  • Sett Accept-Language og tidssone til landet utgangen er fra: page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"}) og page.emulateTimezone(\"Europe/Berlin\").
  • Deaktiver WebRTC-lekkasjer med --force-webrtc-ip-handling-policy=disable_non_proxied_udp i oppstartsargumentene.
  • Behold én nettleser per konto. Bruk brukerdatakatalogen på nytt hvis kontoen skal se ut som en returnerende enhet.

Feil du vil møte#

SymptomÅrsakRett opp
net:: ERR_ TUNNEL_ CONNECTION_ FAILEDGateway nektet CONNECT: legitimasjon, parameter eller ingen utgangReproduser med cURL -v for å lese gateway-koden
net:: ERR_ PROXY_ AUTH_ UNSUPPORTED / forespørslerauthenticate () kalt etter navigasjonRing page.authenticate før goto
Samme IP i alle nettlesereSamme økt- ID brukt på nyttBruk en egen -sid- for hver nettleser eller utelat den
Veldig treg første lastingHusholdnings utgang pluss tung sideBlokkere ressurser; øk tidsavbrudd til 45 sekunder

Spørsmål folk stiller#

Kan Puppeteer bruke SOCKS5 med et passord?

Bruk HTTP-proxyen på port 9000 med page.authenticate, eller hvitlist IP-adressen til tjeneren din og send --proxy-server=socks5://res.proxy-cyber.com:9001 for å få tilgang til nettstedet ditt fra en annen server.

Din konto og passord

Administrer alle proxyene dine fra én konto

Sammenlign nettverk, legg inn bestillinger og følg saldoen din og forespørsler om støtte fra ett dashbord.Vårt team gjennomgår betalinger og gir tilkoblingsdetaljer etter levering.

Opprett konto