Integraties · Gemiddeld

Gebruik van proxies met Puppeter en hoofdloze Chrome

Stel een proxy in bij het opstarten van de browser of in een ondersteunde context van de browser van Puppeteer, en lever vervolgens referenties voor de navigatie. Controleer de toegewezen uitgang binnen elke context en houd onafhankelijke workflows in aparte sessies.

2 minuten lezen 5 secties Gecontroleerd Redactie Proxy Cyber

Start met een proxy en authenticeer#

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

Gebruik een aparte sessie-identificatie voor elke onafhankelijke workflow, waar de toegewezen gateway het ondersteunt. Bevestig de toegestane duur en locatieparameters in uw verbindingsdetails. Een residentieel apparaat kan voor de gewenste duur worden verbroken; een plakkerige sessie is geen garantie van hetzelfde IP voor dagen. Voor een vast adres, vergelijk een specifiek statisch product.

Eén proxy per browser#

De start-level --proxy-server instelling is van toepassing op die browser. De huidige Puppeteer ondersteunt ook proxyServer in browser.createBrowserContext(), met referenties geleverd via pagina.authenticate(). Gebruik aparte contexten voor verschillende proxy-instellingen en aparte user-data directories voor persistente profielen; verifieer de exit binnen elke context.

Blokkeer afbeeldingen, lettertypen en media#

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

Consistentie#

  • Instellen Accept-Language en de tijdzone naar het land van uitgang: page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"}) en page.emulateTimezone(\"Europe/Berlin\").
  • Schakel WebRTC-lekken uit met --force-webrtc-ip-handling-policy=disable_non_proxied_udp in de lanceringsargs.
  • Houd één browser per account; hergebruik de gebruikersdatamap als het account eruit zou moeten zien als een terugkerend apparaat.

Fouten die je tegenkomt#

SymptoomOorzaakRepareren
net::ERR_TUNNEL_CONNECTION_FAILEDGateway weigerde de CONNECT: referenties, parameter of geen uitgangMet cURL -v produceren om de gateway code te lezen
netto::ERR PROXY AUTH UNSUPPORTED / promptsauthenticate() aangeroepen na navigatieRoep page.authenticate op voordat u naar goto gaat
Hetzelfde IP-adres in elke browserDezelfde sessie-ID hergebruiktGebruik een aparte -sid- per browser of laat het weg
Zeer trage eerste ladingHuishoudelijke uitgang plus zware paginaBlokkeer bronnen; verhoog de time-out naar 45 s

Vragen die mensen stellen#

Kan Puppeteer SOCKS5 gebruiken met een wachtwoord?

Chrome ondersteunt geen SOCKS5-authenticatie. Gebruik de HTTP-proxy op poort 9000 met pagina.authenticate, of witlijst uw server IP en pass --proxy-server=socks5://res.proxy-cyber.com:9001.

Uw rekening

Beheer uw proxy's in één account

Vergelijk netwerken, plaats bestellingen en volg uw saldo en ondersteuningsverzoeken vanaf één dashboard. Ons team beoordeelt betalingen en verstrekt verbindingsgegevens na levering.

Account aanmaken