Integrationer · Mellanliggande nivå

Använda proxyservrar med Puppeteer och headless Chrome

Ställ in en proxy vid webbläsarstart eller i ett Puppeteer-webbläsarkontext som stöds och ange sedan autentiseringsuppgifter innan navigering.Kontrollera den tilldelade utgången i varje kontext och behåll oberoende arbetsflöden i separata sessioner.

2 min lästid 5 sektioner Granskad Redaktionsteamet Proxy Cyber

Starta med en proxy och autentisera#

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

Använd en separat sessionsidentifierare för varje oberoende arbetsflöde, där den tilldelade gatewayen stöder det. Bekräfta tillåtna parametrar för varaktighet och plats i anslutningsinformationen. En bostadsenhet kan kopplas bort före begärd varaktighet; en fast session är inte en garanti för samma IP-adress under flera dagar. För en fast adress jämför med en dedikerad statisk produkt.

En proxy per webbläsare#

Startnivåinställningen --proxy-server gäller för den webbläsarens standardvägledning. Nuvarande Puppeteer stöder också proxyServer i browser.createBrowserContext(), med referenser som tillhandahålls genom page.authenticate().Använd separata sammanhang för olika proxyinställningar och separata användardatakataloger för beständiga profiler; verifiera utgången inom varje sammanhang.

Blockera bilder, typsnitt och media#

Begäran om avlyssning
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#

  • Set Accept-Language och tidszonen till utgångslandet: page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"}) och page.emulateTimezone(\"Europe/Berlin\").
  • Inaktivera WebRTC-läckor med --force-webrtc-ip-handling-policy=disable_non_proxied_udp i lanseringsargumenten.
  • Behåll en webbläsare per konto. Återanvänd dess användardatakatalog om kontot ska se ut som en återkommande enhet.

Fel du kommer att möta#

SymtomOrsakFix
Felmeddelande: ERR_CONNECTION_FAILEDGatewayn vägrade CONNECT: autentiseringsuppgifter, parameter eller ingen utgångReproducera med cURL -v för att läsa gateway-koden
net::ERR_PROXY_AUTH_UNSUPPORTED / felmeddelandenauthenticate() kallas efter navigeringAnropa page.authenticate innan goto
Samma IP i alla webbläsareSamma sessions-id återanvändsAnvänd en distinkt -sid- per webbläsare eller utelämna den
Mycket långsam första belastningHushållsutgång plus tung sidaBlockera resurser; höj timeout till 45 s

Frågor som folk ställer#

Kan Puppeteer använda SOCKS5 med ett lösenord?

Använd HTTP-proxyn på port 9000 med page.authenticate eller vitlista serverns IP-adress och skicka --proxy-server=socks5://res.proxy-cyber.com:9001, så att du kan använda SOCKS5 för att komma åt webbplatser som inte stöds av SOCKS.

Ditt konto -

Hantera alla dina proxyer på ett konto

Jämför nätverk, placera beställningar och följ ditt saldo och supportbegäranden från en enda kontrollpanel.Vårt team granskar betalningar och ger anslutningsuppgifter efter leverans.

Skapa konto