Ohne KYC — keine ID, kein Selfie, keine Dokumente · Mit Krypto bezahlen: BTC, USDT, USDC, ETH, SOL, LTC
Sprache: Deutsch
Mit Krypto kaufen

Anleitung · Headless-Browser

Proxys für Browser-Automatisierung: Playwright, Puppeteer und Selenium

Wie man sich authentifiziert, jedem Browserkontext ein eigenes Land und eine feste IP zuweist und das fehlende Proxy-Login von Chrome in Selenium umgeht.

Zuletzt aktualisiert: · 5 Min. Lesezeit

Kurzantwort

Wie nutze ich Residential-Proxys mit Playwright, Puppeteer und Selenium?

Richten Sie den Browser auf http://gw.namelessproxy.com:7777 und melden Sie sich mit Ihrem Proxy-Benutzernamen und Passwort an. Nameless Proxy, ein datenschutzorientierter Residential-Proxy-Anbieter ohne KYC, funktioniert mit Playwrights proxy-Option, Puppeteers page.authenticate() und Selenium über einen lokalen Forwarder. Eine Sitzungs-ID pro Browserkontext sorgt für eine IP pro Profil. Residential-Traffic beginnt bei 0,53 $/GB. Ohne KYC — keine ID, kein Selfie, keine Dokumente. Mit Krypto bezahlen.

Browser-Einrichtung auf einen Blick

Proxy-Serverhttp://gw.namelessproxy.com:7777 (HTTP-Port)
Playwrightproxy Option mit Server, Benutzername und Passwort, pro Browser oder pro Kontext
Puppeteer--proxy-server Flag plus page.authenticate()
SeleniumLokaler Forwarder, der die Zugangsdaten hinzufügt, oder eine IP-Whitelist
Eine IP pro ProfilEine Sitzungs-ID pro Kontext, für bis zu 60 Minuten
TargetingIm Benutzernamen: USERNAME-country-{cc}-city-{city}-session-{id}-ttl-{minutes}

Welchen Proxy-Port benötigen Browser?

Nutze den HTTP-Port, 7777. Er unterstützt HTTPS über CONNECT-Tunnel, was jeder Browser kann. Chromium unterstützt kein SOCKS5 mit Benutzername und Passwort, daher eignet sich der SOCKS5-Port nur für Tools, die SOCKS5-Login selbst handhaben.

Ein Browser lädt Bilder, Schriftarten und Skripte, daher verbraucht er pro Seite deutlich mehr Traffic als ein einfacher HTTP-Client. Blockiere schwere Ressourcen, die du nicht brauchst; Traffic wird pro dezimalem GB abgerechnet.

Wie stelle ich einen Proxy in Playwright ein?

Übergebe ein proxy-Objekt mit server, username und password. Setze es für jeden Browser-Kontext, damit jeder Kontext sein eigenes Land und eine sticky Session im selben Browser-Prozess hat. Stimme locale und timezone_id auf das Exit-Land ab, damit die Seite einen konsistenten Besucher sieht.

Playwright für Python: eine sticky IP pro Kontext
# pip install playwright && playwright install chromium
import uuid
from playwright.sync_api import sync_playwright

SERVER = "http://gw.namelessproxy.com:7777"   # HTTP port: browsers
USERNAME, PASSWORD = "USERNAME", "PASSWORD"

def proxy_for(country, city, ttl=30):
    """One sticky session per browser context."""
    session = uuid.uuid4().hex[:10]
    return {
        "server": SERVER,
        "username": f"{USERNAME}-country-{country}-city-{city}-session-{session}-ttl-{ttl}",
        "password": PASSWORD,
    }

with sync_playwright() as p:
    # Placeholder launch proxy: some Chromium builds need one before contexts
    # can set their own. It is never used when every context sets a proxy.
    browser = p.chromium.launch(proxy={"server": "http://per-context"})
    for country, city, tz in [("ae", "dubai", "Asia/Dubai"), ("sa", "riyadh", "Asia/Riyadh")]:
        context = browser.new_context(proxy=proxy_for(country, city), locale="ar", timezone_id=tz)
        page = context.new_page()
        page.goto("https://api.ipify.org")
        print(country, page.inner_text("body"))
        context.close()
    browser.close()
Playwright für Node.js
// npm i playwright && npx playwright install chromium
const { chromium } = require('playwright');
const crypto = require('crypto');

const server = 'http://gw.namelessproxy.com:7777';
const proxyFor = (country, city, ttl = 30) => ({
  server,
  username: `USERNAME-country-${country}-city-${city}-session-${crypto.randomBytes(5).toString('hex')}-ttl-${ttl}`,
  password: 'PASSWORD',
});

(async () => {
  const browser = await chromium.launch({ proxy: { server: 'http://per-context' } });
  const context = await browser.newContext({ proxy: proxyFor('eg', 'cairo') });
  const page = await context.newPage();
  await page.goto('https://api.ipify.org');
  console.log(await page.textContent('body'));
  await browser.close();
})();

Wie stelle ich einen Proxy in Puppeteer ein?

Starte Chrome mit --proxy-server und rufe page.authenticate() vor der ersten Navigation auf. Chrome ignoriert Zugangsdaten, die in der Flag geschrieben sind, daher antwortet die Seite auf die 407-Herausforderung des Proxys. Jede Seite kann sich mit einem anderen Benutzernamen authentifizieren, sodass jede Seite ihr eigenes Land und ihre eigene Session haben kann. Neuere Puppeteer-Versionen akzeptieren auch eine proxyServer-Option in browser.createBrowserContext().

Puppeteer mit Proxy-Login
// npm i puppeteer
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    args: ['--proxy-server=http://gw.namelessproxy.com:7777'],
  });
  const page = await browser.newPage();
  // Chrome ignores credentials in --proxy-server, so answer the 407 challenge per page
  await page.authenticate({
    username: 'USERNAME-country-ng-city-lagos-session-x7k2p9-ttl-30',
    password: 'PASSWORD',
  });
  await page.goto('https://api.ipify.org');
  console.log(await page.evaluate(() => document.body.innerText));
  await browser.close();
})();

Wie nutze ich einen authentifizierten Proxy mit Selenium?

Starte einen kleinen lokalen Forwarder, der deine Zugangsdaten hinzufügt, und leite Chrome darauf. Chromes --proxy-server-Flag akzeptiert keinen Benutzernamen oder Passwort, und Selenium bietet keine Option, Proxy-Login auszufüllen. Der Forwarder unten verwendet pproxy: er lauscht auf deinem Rechner ohne Passwort und leitet mit deinem Benutzernamen zum Gateway weiter, inklusive Ziel. Starte einen Forwarder pro sticky Session, jeweils auf einem eigenen lokalen Port.

Hat dein Rechner eine feste öffentliche IP, kannst du diese stattdessen im Kundenbereich auf die Whitelist setzen und die Gateway-Adresse direkt an --proxy-server übergeben. Das selenium-wire-Paket unterstützte auch Proxy-Login, wird aber nicht mehr gepflegt.

Starte den lokalen Forwarder
pip install pproxy selenium

# Local forwarder: no auth on 127.0.0.1:8899, adds your credentials upstream (#user:pass)
pproxy -l http://127.0.0.1:8899 \
  -r "http://gw.namelessproxy.com:7777#USERNAME-country-ke-city-nairobi-session-k3m9q1-ttl-30:PASSWORD"
Selenium über den Forwarder
# Selenium 4.6+ downloads the matching chromedriver itself (Selenium Manager)
from selenium import webdriver
from selenium.webdriver.common.by import By

options = webdriver.ChromeOptions()
options.add_argument("--proxy-server=http://127.0.0.1:8899")   # the local forwarder
driver = webdriver.Chrome(options=options)
try:
    driver.get("https://api.ipify.org")
    print(driver.find_element(By.TAG_NAME, "body").text)
finally:
    driver.quit()

Wie behalte ich eine IP pro Browser-Profil?

Gib jedem Browser-Kontext eine eigene Sitzungs-ID und eine TTL und behalte diese ID für die Lebensdauer des Profils. Der Kontext nutzt dann dieselbe Residential-IP, solange die TTL gilt (für bis zu 60 Minuten). Geht das Gerät hinter der IP offline, starte eine neue Sitzungs-ID.

Wenn ein Profil eine IP über Tage behalten muss, passt ein dedizierter 4G/5G-Port besser: die IP bleibt, bis du sie rotierst. Nutze Residential-Proxys für legitime Arbeiten wie Anzeigenprüfung, QA und Verwaltung deiner Kundenkonten. Fake-Accounts und Bannumgehung sind durch die Acceptable Use Policy verboten.

Häufig gestellte Fragen

Warum ignoriert Chrome den Benutzernamen und das Passwort in --proxy-server?

Das Kommandozeilen-Flag von Chrome nimmt nur Schema, Host und Port; es liest keine Zugangsdaten daraus. Der Browser wartet stattdessen auf die 407-Herausforderung des Proxys. Playwright beantwortet diese aus seiner proxy-Option, Puppeteer aus page.authenticate(). Selenium hat keinen solchen Hook für Proxy-Login, weshalb ein lokaler Forwarder oder eine IP-Whitelist nötig ist.

Kann ich den SOCKS5-Port mit Playwright oder Puppeteer verwenden?

Nicht mit Benutzername und Passwort: Chromium unterstützt keine SOCKS5-Proxy-Authentifizierung. Verwenden Sie den HTTP-Port, 7777, der HTTPS über CONNECT-Tunnel überträgt und Login unterstützt. Der SOCKS5-Port, 7778, ist für Tools gedacht, die SOCKS5-Authentifizierung selbst handhaben, wie curl oder Python mit socks5h://.

Wie gebe ich jedem Browser-Kontext ein anderes Land?

Erstellen Sie den Proxy-Benutzernamen pro Kontext: USERNAME-country-ae-city-dubai-session-… für einen Kontext und USERNAME-country-sa-city-riyadh-session-… für einen anderen. In Playwright übergeben Sie ihn in new_context(proxy=…). In Puppeteer öffnen Sie eine Seite pro Land und rufen page.authenticate() mit jedem Benutzernamen auf. Ein Browser-Prozess kann so viele Länder bedienen.

Wie kann ich den Traffic eines Headless-Browsers reduzieren?

Blockieren Sie, was Sie nicht brauchen. In Playwright kann page.route() Anfragen für Bilder, Schriftarten und Medien abbrechen; in Puppeteer verwenden Sie Request-Interception. Nutzen Sie einen Kontext für mehrere Seiten derselben Seite, damit der Cache funktioniert. Der Traffic wird pro Dezimal-GB abgerechnet, und im Kundenbereich sehen Sie die tägliche Nutzung – messen Sie also vorher und nachher.

Warum zeigt eine Seite trotzdem das falsche Land an?

Die IP ist nur ein Signal. Seiten lesen auch die Browsersprache, die Zeitzone und manchmal die Geolocation-API aus. Setzen Sie locale und timezone_id im Playwright-Kontext passend zum Exit-Land, zum Beispiel Asia/Dubai für die VAE. Löschen Sie außerdem Cookies, die eine Seite bei einem früheren Besuch aus einem anderen Land gesetzt hat.

Ist selenium-wire noch eine gute Methode, um Proxy-Login hinzuzufügen?

Es hat funktioniert, aber das Projekt wird nicht mehr gepflegt, daher kann es mit neuen Chrome- oder Selenium-Versionen brechen. Ein lokaler Forwarder wie pproxy übernimmt eine Aufgabe: Zugangsdaten an einen Upstream-Proxy hinzufügen, und funktioniert mit jedem Browser. Die Whitelist der Server-IP im Kundenbereich macht Zugangsdaten ganz überflüssig.

Jedes Browser-Profil mit eigener IP

Residential-Proxys von 0,53 $/GB, dedizierte 4G/5G-Ports von $2.63/Tag. Ohne KYC — keine ID, kein Selfie, keine Dokumente.

Ab 0,53 $/GB · ohne KYC

Proxys kaufen