# Statische proxy instellen in Playwright in Python en Node.js

> Statische proxy instellen in Playwright in Python en Node.js: server, gebruikersnaam en wachtwoord, één browsercontext per IP, exit-IP-controle. IP's voor 30 dagen, zonder KYC, crypto.

- URL: https://steadyproxy.com/nl/guides/playwright-static-proxy/
- Laatst bijgewerkt: 2026-10-19
- Publisher: SteadyProxy (https://steadyproxy.com)

Geef de server, gebruikersnaam en wachtwoord van het statische IP door aan de browser of aan elke context, en controleer dan het exit-IP voordat je echt werk doet.

**Snel antwoord — Hoe stel ik een statische proxy in Playwright in?**

Voor een statische proxy in Playwright geef je een proxy met server, gebruikersnaam en wachtwoord door aan chromium.launch(), of geef je elke browsercontext een eigen proxy om meerdere statische IP's in één browser te draaien. Open daarna api.ipify.org om het exit-IP te controleren. **SteadyProxy** statische IP's worden gehuurd voor 30 dagen, vanaf US$ 2,24 per IP per oktober 2026, zonder KYC en met cryptobetaling.

## Wat zijn de belangrijkste feiten?

| Kenmerk | Waarde |
| --- | --- |
| Launch-optie | proxy = server, gebruikersnaam, wachtwoord (HTTP-proxylogin) |
| Per context | browser.newContext({ proxy }) geeft elke context zijn eigen statische IP |
| SOCKS5 | Ondersteund door Playwright; de documentatie beschrijft gebruikersnaam en wachtwoord voor HTTP(S)-proxy's, dus combineer SOCKS5 met de IP-allowlist |
| SteadyProxy-authenticatie | Gebruikersnaam en wachtwoord, of een IP-allowlist (maximaal 10 IP's) |
| Controleren | api.ipify.org voor het exit-IP, ipinfo.io/json voor het netwerk |
| Codecontroles | Python slaagde voor py_compile en Node.js slaagde voor node --check op 19 oktober 2026 (Playwright 1.60) |

## Hoe stel ik een statische proxy in Playwright voor Python in?

Geef de proxy mee bij het starten wanneer de hele browser één statisch IP moet gebruiken. De server is het HTTP-adres van je IP, http://host:port; de gebruikersnaam en het wachtwoord gaan in hun eigen velden, niet in de URL. Playwright beantwoordt het inlogverzoek van de proxy voor je, dus er verschijnt geen inlogvenster. Het voorbeeld opent api.ipify.org en daarna ipinfo.io/json en print beide.

*playwright_sync.py: één statisch IP voor de hele browser*

```python
"""Playwright (Python) through one static proxy.

Install: python -m pip install playwright && python -m playwright install chromium
"""
import os

from playwright.sync_api import sync_playwright

PROXY = {
    "server": "http://" + os.environ.get("PROXY_HOST", "gw.steadyproxy.com") + ":"
    + os.environ.get("PROXY_PORT", "7777"),
    "username": os.environ.get("PROXY_USER", "USERNAME"),
    "password": os.environ.get("PROXY_PASS", "PASSWORD"),
}

with sync_playwright() as p:
    browser = p.chromium.launch(proxy=PROXY)
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://api.ipify.org?format=json", timeout=30000)
    print("Exit IP:", page.inner_text("body"))
    page.goto("https://ipinfo.io/json", timeout=30000)
    print("Network:", page.inner_text("body"))
    browser.close()

```

## Hoe gebruik ik meerdere statische IP's in één Playwright-browser?

Maak één browsercontext per IP. De Playwright-documentatie stelt dat een proxy voor de hele browser of voor elke browsercontext afzonderlijk kan worden ingesteld. Contexten delen geen cookies of opslag, dus elk gedraagt zich als een apart profiel op zijn eigen IP. Het Node.js-voorbeeld loopt over twee IP's, opent api.ipify.org in elke context en sluit de context na gebruik. Vul de lijst met de host, poort, gebruikersnaam en wachtwoord van elk IP uit je dashboard.

*playwright_contexts.mjs: één context per statisch IP (Node.js)*

```javascript
// Playwright (Node.js): one browser, one context per static IP.
// Install: npm i playwright && npx playwright install chromium
import { chromium } from 'playwright';

// Copy host, port, username and password of each IP from your dashboard.
const staticIps = [
  { name: 'client-a', host: 'gw.steadyproxy.com', port: '7777', username: 'USERNAME', password: 'PASSWORD' },
  { name: 'client-b', host: 'gw.steadyproxy.com', port: '7777', username: 'USERNAME', password: 'PASSWORD' },
];

const browser = await chromium.launch();
try {
  for (const ip of staticIps) {
    const context = await browser.newContext({
      proxy: { server: `http://${ip.host}:${ip.port}`, username: ip.username, password: ip.password },
    });
    const page = await context.newPage();
    await page.goto('https://api.ipify.org?format=json', { timeout: 30000 });
    console.log(ip.name, await page.innerText('body'));
    await context.close();
  }
} finally {
  await browser.close();
}

```

## Moet ik HTTP of SOCKS5 gebruiken in Playwright?

Gebruik in de meeste gevallen de HTTP-poort met gebruikersnaam en wachtwoord. Dat is de combinatie die de Playwright-documentatie beschrijft voor proxylogin, en HTTPS-pagina's gaan via een CONNECT-tunnel. Gebruik SOCKS5 met een socks5://-server alleen wanneer je machine op de IP-allowlist staat, zodat er geen login nodig is. Beide poorten van één statisch IP geven hetzelfde exit-IP. SteadyProxy ondersteunt HTTP, HTTPS (CONNECT) en SOCKS5.

## Hoe behoud ik logins tussen runs op hetzelfde statische IP?

Sla de opslagstatus van de context op nadat je inlogt en laad die de volgende keer met dezelfde proxy. In Python schrijft context.storage_state(path='client-a.json') cookies en local storage weg; browser.new_context(storage_state='client-a.json', proxy=...) herstelt ze. Houd één statusbestand per IP en per account aan en laad nooit de status van het ene account op het IP van een ander account. Behandel deze bestanden als geheimen.

## Wat gaat er het vaakst mis?

Vier fouten dekken de meeste gevallen. ERR_PROXY_CONNECTION_FAILED betekent dat de host of poort fout is of aan jouw kant geblokkeerd. Een 407-respons betekent een verkeerde login, of een bron-IP dat ontbreekt in je allowlist. ERR_TUNNEL_CONNECTION_FAILED betekent dat de proxy het doel weigerde; controleer de geblokkeerde lijst: Bankieren, overheids-, betaalportaal- en ticketingsites, plus SMTP (e-mailverzending) poorten 25, 465 en 587. Een timeout op elke pagina wijst op een storing op het IP; test het met curl en neem dan contact op met support.

## Wat vragen mensen nog meer over Playwright en statische proxy's?

### Kan ik de gebruikersnaam en het wachtwoord in de server-URL zetten?

Gebruik in plaats daarvan de aparte velden voor gebruikersnaam en wachtwoord. Dat is de gedocumenteerde manier om in te loggen op een HTTP-proxy in Playwright, en zo voorkom je URL-encodingsproblemen met speciale tekens. Het serverveld bevat dan alleen het schema, de host en de poort van je statische IP.

### Krijgt elke Playwright-pagina zijn eigen IP?

Nee. Pagina's erven de proxy van hun context, en contexten erven de proxy van de browser tenzij ze hun eigen proxy instellen. Alle pagina's in één context delen één statisch IP. Voor meerdere IP's maak je meerdere contexten, zoals in het Node.js-voorbeeld, of meerdere browsers.

### Kan ik Firefox of WebKit met een statische proxy gebruiken in Playwright?

Ja. De proxy-optie heeft dezelfde vorm voor chromium-, firefox- en webkit-launches. Test elke engine met api.ipify.org, want engines verschillen in hoe ze sommige proxyfouten afhandelen. Voor QA over meerdere engines houd je hetzelfde statische IP voor elke engine aan zodat resultaten vergelijkbaar blijven.

### Moet ik de locale en tijdzone instellen om bij het IP te passen?

Voor lokale QA en geolocatietests, ja: browser.new_context(locale='de-DE', timezone_id='Europe/Berlin') laat je site renderen zoals voor een lokale bezoeker. Het verandert wat je testbrowser opvraagt, niet het IP, dat nog steeds het land bepaalt dat je site detecteert. Zie [geolocatie-QA](https://steadyproxy.com/nl/use-cases/geolocation-qa/) voor testplannen.

### Hoe controleer ik dat elke context het juiste IP gebruikt?

Open eerst api.ipify.org in elke nieuwe context en vergelijk het antwoord met de IP-lijst in je dashboard. Laat de run mislukken als het niet overeenkomt. De kosten zijn één licht verzoek per context, en het voorkomt dat een hele run op het verkeerde IP uitgaat.

### Wat kost het om 10 Playwright-contexten op 10 statische IP's te draaien?

Per oktober 2026 kosten 10 ISP-IP's US$ 20,86 en 10 dedicated datacenter-IP's US$ 12,69, elk voor 30 dagen. Facturering is per IP, niet per GB. Betaling gaat via crypto, zonder KYC. Zie [prijzen](https://steadyproxy.com/nl/pricing/) voor alle pakketgroottes.

## Welke bronnen gebruikt deze gids?

1. [Netwerk: HTTP-proxy (Python)](https://playwright.dev/python/docs/network#http-proxy) — Playwright (2026-10-19)
2. [Netwerk: HTTP-proxy (Node.js)](https://playwright.dev/docs/network#http-proxy) — Playwright (2026-10-19)
3. [ipify API](https://www.ipify.org/) — ipify (2026-10-19)

---

SteadyProxy: SteadyProxy is een statische proxyprovider: ISP (statisch residentieel) en dedicated datacenter-IP's die per IP voor 30 dagen worden gehuurd, betaald met crypto zonder ID-upload.
