# Setup proxy statis Playwright di Python dan Node.js

> Setup proxy statis Playwright di Python dan Node.js: server, username dan password, satu konteks browser per IP, pemeriksaan IP keluar. IP 30 hari, tanpa KYC, kripto.

- URL: https://steadyproxy.com/id/guides/playwright-static-proxy/
- Terakhir diperbarui: 2026-10-19
- Publisher: SteadyProxy (https://steadyproxy.com)

Berikan server, username dan password IP statis ke browser atau ke setiap konteks, lalu periksa IP keluar sebelum pekerjaan nyata.

**Jawaban singkat — Bagaimana cara menyiapkan proxy statis di Playwright?**

Untuk proxy statis Playwright, berikan proxy dengan server, username dan password ke chromium.launch(), atau beri setiap konteks browser proxy-nya sendiri untuk menjalankan beberapa IP statis dalam satu browser. Lalu buka api.ipify.org untuk memeriksa IP keluar. **SteadyProxy** IP statis disewakan selama 30 hari, mulai dari US$2,24 per IP per Oktober 2026, tanpa KYC dan pembayaran kripto.

## Apa saja fakta utamanya?

| Atribut | Nilai |
| --- | --- |
| Opsi launch | proxy = server, username, password (login proxy HTTP) |
| Per konteks | browser.newContext({ proxy }) memberi setiap konteks IP statisnya sendiri |
| SOCKS5 | Didukung oleh Playwright; dokumentasi menjelaskan username dan password untuk proxy HTTP(S), jadi pasangkan SOCKS5 dengan allowlist IP |
| Autentikasi SteadyProxy | Nama pengguna dan kata sandi, atau allowlist IP (hingga 10 IP) |
| Periksa | api.ipify.org untuk IP keluar, ipinfo.io/json untuk jaringan |
| Pemeriksaan kode | Python lolos py_compile dan Node.js lolos node --check pada 19 Oktober 2026 (Playwright 1.60) |

## Bagaimana cara mengatur proxy statis di Playwright untuk Python?

Berikan proxy saat launch bila seluruh browser harus memakai satu IP statis. Server adalah alamat HTTP IP Anda, http://host:port; username dan password diisi di kolomnya sendiri, bukan di URL. Playwright menjawab permintaan login proxy untuk Anda, jadi tidak muncul kotak sign-in. Contoh membuka api.ipify.org, lalu ipinfo.io/json, dan mencetak keduanya.

*playwright_sync.py: satu IP statis untuk seluruh 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()

```

## Bagaimana cara menjalankan beberapa IP statis dalam satu browser Playwright?

Buat satu konteks browser per IP. Dokumentasi Playwright menyatakan bahwa proxy dapat diatur untuk seluruh browser atau untuk setiap konteks browser secara individual. Konteks tidak berbagi cookie atau storage, jadi masing-masing bertindak seperti profil terpisah pada IP-nya sendiri. Contoh Node.js melakukan loop atas dua IP, membuka api.ipify.org di setiap konteks dan menutup konteks setelah digunakan. Isi daftar dengan host, port, username dan password setiap IP dari dashboard Anda.

*playwright_contexts.mjs: satu konteks per IP statis (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();
}

```

## Sebaiknya saya pakai HTTP atau SOCKS5 di Playwright?

Gunakan port HTTP dengan username dan password pada sebagian besar kasus. Ini kombinasi yang dijelaskan dokumentasi Playwright untuk login proxy, dan halaman HTTPS melewati tunnel CONNECT. Gunakan SOCKS5 dengan server socks5:// hanya bila mesin Anda ada di allowlist IP, sehingga tidak perlu login. Kedua port dari satu IP statis menghasilkan IP keluar yang sama. SteadyProxy mendukung HTTP, HTTPS (CONNECT) dan SOCKS5.

## Bagaimana cara mempertahankan login antar-run pada IP statis yang sama?

Simpan storage state konteks setelah Anda login, dan muat lagi saat berikutnya dengan proxy yang sama. Di Python, context.storage_state(path='client-a.json') menulis cookie dan local storage; browser.new_context(storage_state='client-a.json', proxy=...) memulihkannya. Simpan satu file state per IP dan per akun, dan jangan pernah memuat state satu akun pada IP akun lain. Perlakukan file ini sebagai rahasia.

## Apa yang paling sering salah?

Empat error mencakup sebagian besar kasus. ERR_PROXY_CONNECTION_FAILED berarti host atau port salah atau diblokir di sisi Anda. Respons 407 berarti login salah, atau IP sumber tidak ada di allowlist Anda. ERR_TUNNEL_CONNECTION_FAILED berarti proxy menolak target; periksa daftar blokir: Perbankan, pemerintah, portal pembayaran dan situs tiket, serta port SMTP (pengiriman email) 25, 465 dan 587. Timeout di setiap halaman menandakan masalah pada IP; uji dengan curl, lalu hubungi support.

## Apa lagi yang sering ditanyakan orang tentang Playwright dan proxy statis?

### Bisakah saya menaruh username dan password di URL server?

Gunakan kolom username dan password terpisah. Itulah cara terdokumentasi untuk login ke proxy HTTP di Playwright, dan menghindari masalah URL-encoding dengan karakter khusus. Kolom server kemudian hanya berisi skema, host dan port IP statis Anda.

### Apakah setiap halaman Playwright mendapat IP sendiri?

Tidak. Halaman mewarisi proxy dari konteksnya, dan konteks mewarisi proxy browser kecuali menetapkan sendiri. Semua halaman dalam satu konteks berbagi satu IP statis. Untuk beberapa IP, buat beberapa konteks, seperti pada contoh Node.js, atau beberapa browser.

### Bisakah saya memakai Firefox atau WebKit dengan proxy statis di Playwright?

Bisa. Opsi proxy memiliki bentuk yang sama untuk launch chromium, firefox dan webkit. Uji setiap engine dengan api.ipify.org, karena engine berbeda dalam menangani beberapa error proxy. Untuk QA lintas engine, gunakan IP statis yang sama untuk setiap engine agar hasil tetap sebanding.

### Haruskah saya mengatur locale dan timezone agar sesuai dengan IP?

Untuk QA lokal dan pengujian geolokasi, ya: browser.new_context(locale='de-DE', timezone_id='Europe/Berlin') membuat situs Anda dirender seperti untuk pengunjung lokal. Ini mengubah apa yang diminta browser uji Anda, bukan IP-nya, yang tetap menentukan negara yang dideteksi situs Anda. Lihat [geolocation QA](https://steadyproxy.com/id/use-cases/geolocation-qa/) untuk rencana pengujian.

### Bagaimana cara memastikan setiap konteks memakai IP yang benar?

Buka api.ipify.org lebih dulu di setiap konteks baru dan bandingkan jawabannya dengan daftar IP di dashboard Anda. Gagalkan run jika tidak cocok. Biayanya satu permintaan ringan per konteks, dan ini mencegah seluruh run keluar dengan IP yang salah.

### Berapa biaya menjalankan 10 konteks Playwright pada 10 IP statis?

Per Oktober 2026, 10 IP ISP berbiaya US$20,86 dan 10 IP datacenter dedicated berbiaya US$12,69, masing-masing untuk 30 hari. Penagihan per IP, bukan per GB. Pembayaran dengan kripto, tanpa KYC. Lihat [pricing](https://steadyproxy.com/id/pricing/) untuk semua ukuran paket.

## Sumber apa yang digunakan panduan ini?

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

---

SteadyProxy: SteadyProxy adalah penyedia proxy statis: ISP (proxy residensial statis) dan IP datacenter khusus yang disewa per IP selama 30 hari, dibayar dengan kripto tanpa unggah ID.
