Integrationen · Zwischenstufe

Verwenden von Proxies mit Puppeteer und Headless Chrome

Legen Sie beim Browserstart oder in einem unterstützten Puppeteer-Browserkontext einen Proxy fest und geben Sie dann vor der Navigation Anmeldeinformationen ein. Überprüfen Sie den zugewiesenen Exit in jedem Kontext und behalten Sie unabhängige Arbeitsabläufe in separaten Sitzungen bei.

2 min Lesezeit 5 Abschnitte Geprüft Redaktion Proxy Cyber

Starten Sie mit einem Proxy und authentifizieren#

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

Verwenden Sie für jeden unabhängigen Workflow eine eindeutige Sitzungskennung, sofern das zugewiesene Gateway dies unterstützt. Bestätigen Sie die zulässigen Dauer- und Standortparameter in Ihren Verbindungsdetails. Ein Heimgerät kann die Verbindung vor Ablauf der angeforderten Dauer trennen; Eine Sticky-Sitzung ist keine Garantie für die gleiche IP-Adresse über mehrere Tage hinweg. Vergleichen Sie für eine feste Adresse ein dediziertes statisches Produkt.

Ein Proxy pro Browser#

Die Einstellung „--proxy-server“ auf Startebene gilt für das Standardrouting dieses Browsers. Current Puppeteer unterstützt auch ProxyServer in browser.createBrowserContext(), wobei die Anmeldeinformationen über page.authenticate() bereitgestellt werden. Verwenden Sie separate Kontexte für unterschiedliche Proxy-Einstellungen und separate Benutzerdatenverzeichnisse für persistente Profile. Überprüfen Sie den Exit in jedem Kontext.

Blockbilder, Schriftarten und Medien#

Anfrage-Abhörung
await page.setRequestInterception(true);
page.on("request", (req) => {
  const t = req.resourceType();
  if (["image", "media", "font", "stylesheet"].includes(t)) return req.abort();
  req.continue();
});

Kohärenz#

  • Setz Accept-Language und die Zeitzone zum Land des Ausgangs: page.setExtraHTTPHeaders({\"Accept-Language\": \"de-DE,de;q=0.9\"}) und page.emulateTimezone(\"Europe/Berlin\").
  • Deaktivieren Sie WebRTC-Lecks mit --force-webrtc-ip-handling-policy=disable_non_proxied_udp In der Start-Args.
  • Behalten Sie einen Browser pro Konto; Verwenden Sie das Benutzerdatenverzeichnis erneut, wenn das Konto wie ein zurückkehrendes Gerät aussehen soll.

Fehler, die Sie treffen werden#

SymptomUrsacheFix
netto::ERR TUNNEL CONNECTION FAILEDGateway hat CONNECT abgelehnt: Anmeldeinformationen, Parameter oder kein ExitReproduzieren mit cURL -v, um den Gateway-Code zu lesen
netto::ERR PROXY AUTH UNSUPPORTED / promptsauthenticate() nach der Navigation aufgerufenAufruf page.authenticate vor goto
Gleiche IP in jedem BrowserGleiche Sitzungs-ID wiederverwendetVerwenden Sie ein eindeutiges -sid- pro Browser oder lassen Sie es weg
Sehr langsame erste LastHaushaltsausgang plus schwere SeiteRessourcen blockieren; Timeout auf 45 s erhöhen

Fragen, die Menschen stellen#

Kann Puppeteer SOCKS5 mit einem Passwort verwenden?

Chrome unterstützt keine SOCKS5-Authentifizierung. Verwenden Sie den HTTP-Proxy auf Port 9000 mit page.authenticate oder setzen Sie Ihre Server-IP auf die Whitelist und übergeben Sie --proxy-server=socks5://res.proxy-cyber.com:9001.

Dein Konto

Verwalten Sie Ihre Proxies in einem Konto

Vergleichen Sie Netzwerke, geben Sie Bestellungen auf und verfolgen Sie Ihren Kontostand und Supportanfragen über ein Dashboard. Unser Team prüft die Zahlungen und stellt nach der Lieferung Verbindungsdetails bereit.

Konto erstellen