# Przykłady kodu proxy datacenter: curl, Python, Node.js i Playwright

> Przykłady kodu proxy dla curl, Python requests i aiohttp, Node.js undici i Playwright, HTTP i SOCKS5. RackProxies: od 1,29 USD za IP, bez KYC, krypto.

- URL: https://rackproxies.com/pl/docs/code-examples/
- Ostatnia aktualizacja: 2026-10-19
- Publisher: RackProxies (https://rackproxies.com)

Gotowe do skopiowania fragmenty dla najpopularniejszych klientów, każdy przetestowany pod kątem składni. Każdy przykład celuje w api.ipify.org, httpbin.org/ip lub example.com.

**Szybka odpowiedź — Jak używać proxy datacenter w kodzie?**

Te przykłady kodu proxy przekazują jeden URL `http://USERNAME:PASSWORD@IP:PORT` do Twojego klienta: `-x` w curl, `proxies=` w Python requests, `ProxyAgent` w Node.js, opcję `proxy` w Playwright. SOCKS5 używa `socks5h://`. Adresy IP **RackProxies** obsługują HTTP, HTTPS (CONNECT) i SOCKS5, od 1,29 USD za dedykowany IPv4 na 30 dni. Bez KYC, tylko krypto.

## Którego fragmentu potrzebuję?

*Adres dokumentacyjny 203.0.113.24 i port 8000 w każdym fragmencie: zastąp je linią ze swojego konta.*

| Klient | Proxy HTTP | Proxy SOCKS5 | Dodatkowy pakiet |
| --- | --- | --- | --- |
| curl | `-x http://…` | `-x socks5h://…` | Brak |
| Python requests | `proxies={…}` | URL `socks5h://` | `requests[socks]` dla SOCKS5 |
| Python aiohttp | `proxy=` i `proxy_auth=` | Brak wbudowanego | `aiohttp-socks` dla SOCKS5 |
| Node.js fetch | undici `ProxyAgent` | Brak wbudowanego | `undici` |
| Node.js https | `https-proxy-agent` | `socks-proxy-agent` | Jeden z dwóch |
| Playwright | `proxy: { server, username, password }` | Użyj HTTP lub listy dozwolonych | `playwright` |

## Jak używać proxy z curl?

Przekaż URL proxy za pomocą `-x`. curl sam obsługuje tunel CONNECT dla celów `https://`. Wszystkie fragmenty na tej stronie używają adresu dokumentacyjnego `203.0.113.24`; strona [format połączenia](https://rackproxies.com/pl/docs/connection-format/) pokazuje, jak zbudować URL z Twojej linii.

*curl: HTTP, SOCKS5, osobny login, lista dozwolonych*

```bash
# HTTP proxy, HTTPS target (CONNECT tunnel)
curl -x http://USERNAME:PASSWORD@203.0.113.24:8000 https://api.ipify.org

# SOCKS5, hostname resolved by the proxy
curl -x socks5h://USERNAME:PASSWORD@203.0.113.24:8000 https://api.ipify.org

# Login passed separately (no URL-encoding needed)
curl -x http://203.0.113.24:8000 -U 'USERNAME:PASSWORD' https://httpbin.org/ip

# IP allowlist: no login
curl -x http://203.0.113.24:8000 https://api.ipify.org

# Show the proxy handshake and the timings
curl -v -s -o /dev/null -w '%{time_connect} %{time_appconnect} %{time_total}\n' \
  -x http://USERNAME:PASSWORD@203.0.113.24:8000 https://example.com
```

## Jak używać proxy z Python requests?

Przekaż requests słownik `proxies` z tym samym URL dla `http` i `https`. Klucz `https` to ten używany dla celów `https://`; jego wartość nadal zaczyna się od `http://`, ponieważ opisuje połączenie z proxy. requests zgłasza `ProxyError`, gdy proxy odrzuca połączenie lub login.

*requests przez proxy HTTP, z obsługą błędów*

```python
import requests  # pip install requests

# From the line 203.0.113.24:8000:USERNAME:PASSWORD in your account
proxy = 'http://USERNAME:PASSWORD@203.0.113.24:8000'
proxies = {'http': proxy, 'https': proxy}

try:
    response = requests.get('https://api.ipify.org', proxies=proxies, timeout=20)
    response.raise_for_status()
    print('Exit IP:', response.text)
except requests.exceptions.ProxyError as error:
    print('Proxy problem (credentials, port or allowlist):', error)
except requests.exceptions.Timeout:
    print('No answer within 20 seconds')
```

*żądania przez SOCKS5 (pip install "requests[socks]")*

```python
import requests  # pip install "requests[socks]"

# socks5h: the proxy resolves the hostname. Use the SOCKS5 port shown in your account.
proxy = 'socks5h://USERNAME:PASSWORD@203.0.113.24:8000'
proxies = {'http': proxy, 'https': proxy}

response = requests.get('https://httpbin.org/ip', proxies=proxies, timeout=20)
print(response.json())  # {'origin': '203.0.113.24'}
```

*Sesja dla wielu żądań przez jedno IP*

```python
import requests

# A Session reuses connections: faster for many requests through the same IP.
session = requests.Session()
session.proxies.update({
    'http': 'http://USERNAME:PASSWORD@203.0.113.24:8000',
    'https': 'http://USERNAME:PASSWORD@203.0.113.24:8000',
})
session.headers['User-Agent'] = 'my-monitor/1.0 (contact: you@example.com)'

for url in ['https://example.com', 'https://httpbin.org/ip']:
    response = session.get(url, timeout=20)
    print(url, response.status_code, len(response.content), 'bytes')
```

Ustaw `User-Agent`, który podaje nazwę Twojego narzędzia i kontakt, jak w przykładzie Session: właściciele stron mogą się wtedy z Tobą skontaktować zamiast Cię blokować. requests odczytuje też zmienne środowiskowe `HTTP_PROXY` i `HTTPS_PROXY`, gdy nie podano argumentu `proxies`.

## Jak używać proxy z Python aiohttp?

aiohttp przyjmuje proxy per żądanie: `proxy=` dla adresu i `proxy_auth=` dla loginu. Obsługuje proxy HTTP, w tym CONNECT dla celów `https://`. Dla SOCKS5 wymaga osobnego pakietu `aiohttp-socks`.

*aiohttp przez proxy HTTP*

```python
import asyncio

import aiohttp  # pip install aiohttp (HTTP proxies; SOCKS needs the aiohttp-socks package)

PROXY = 'http://203.0.113.24:8000'
AUTH = aiohttp.BasicAuth('USERNAME', 'PASSWORD')


async def main():
    timeout = aiohttp.ClientTimeout(total=20)
    async with aiohttp.ClientSession(timeout=timeout) as session:
        async with session.get('https://httpbin.org/ip', proxy=PROXY, proxy_auth=AUTH) as response:
            print(await response.json())


asyncio.run(main())
```

## Jak używać proxy z Node.js?

Wbudowany w Node `fetch` nie przyjmuje argumentu proxy, więc użyj pakietu `undici` i jego `ProxyAgent` jako `dispatcher`. Dla klasycznego modułu `https` użyj `https-proxy-agent` dla proxy HTTP i `socks-proxy-agent` dla SOCKS5. Oba fragmenty to moduły ES: zapisz je jako pliki `.mjs`.

*fetch z undici ProxyAgent*

```javascript
// npm install undici
import { ProxyAgent, fetch } from 'undici';

const dispatcher = new ProxyAgent({
  uri: 'http://203.0.113.24:8000',
  token: `Basic ${Buffer.from('USERNAME:PASSWORD').toString('base64')}`,
});

const response = await fetch('https://api.ipify.org', { dispatcher });
console.log('Exit IP:', await response.text());
```

*https z https-proxy-agent i socks-proxy-agent*

```javascript
// npm install https-proxy-agent socks-proxy-agent
import https from 'node:https';
import { HttpsProxyAgent } from 'https-proxy-agent';
import { SocksProxyAgent } from 'socks-proxy-agent';

const httpAgent = new HttpsProxyAgent('http://USERNAME:PASSWORD@203.0.113.24:8000');
// Use the SOCKS5 port shown in your account; socks5h lets the proxy resolve DNS.
const socksAgent = new SocksProxyAgent('socks5h://USERNAME:PASSWORD@203.0.113.24:8000');

for (const agent of [httpAgent, socksAgent]) {
  https.get('https://api.ipify.org', { agent }, (res) => {
    res.setEncoding('utf8');
    res.on('data', (chunk) => console.log('Exit IP:', chunk));
  }).on('error', (err) => console.error('Proxy error:', err.message));
}
```

## Jak używać proxy z Playwright?

Przekaż obiekt `proxy` do `chromium.launch()` z serwerem oraz osobno nazwę użytkownika i hasło. Użyj formularza HTTP: wbudowany klient SOCKS5 w Chromium historycznie nie obsługiwał uwierzytelniania nazwą użytkownika i hasłem dla proxy SOCKS5. Przy allowliście IP pomiń `username` i `password`.

*Playwright (Chromium) przez proxy HTTP*

```javascript
// npm install playwright && npx playwright install chromium
import { chromium } from 'playwright';

const browser = await chromium.launch({
  proxy: { server: 'http://203.0.113.24:8000', username: 'USERNAME', password: 'PASSWORD' },
});
const page = await browser.newPage();
await page.goto('https://api.ipify.org');
console.log('Exit IP:', await page.textContent('body'));
await browser.close();
```

Używaj przeglądarek przez proxy do QA własnych stron, sprawdzania reklam i lokalizacji oraz podobnych legalnych zadań. Pamiętaj, że proxy zmienia tylko IP: język i strefa czasowa przeglądarki pozostają takie jak na Twojej maszynie, chyba że ustawisz je w kontekście przeglądarki.

## Jak mierzyć opóźnienie przez proxy?

Zmierz czas kilku pełnych żądań i weź medianę. Poniższy fragment w Pythonie wysyła pięć żądań do `https://example.com` przez jedno IP. Uruchom go przez IP w różnych miastach data center, aby je porównać; [przewodnik po miastach](https://rackproxies.com/pl/guides/choose-a-datacenter-city/) wyjaśnia fizyczne minimum dla każdego dystansu.

*Mediana czasu żądania przez proxy*

```python
import statistics
import time

import requests

proxy = 'http://USERNAME:PASSWORD@203.0.113.24:8000'
timings = []
for _ in range(5):
    start = time.perf_counter()
    requests.get('https://example.com', proxies={'http': proxy, 'https': proxy}, timeout=20)
    timings.append((time.perf_counter() - start) * 1000)

print(f'median {statistics.median(timings):.0f} ms over {len(timings)} requests')
```

## Jak użyć całej listy IP?

Wczytaj eksport TXT, zamień każdą linię na URL i wybieraj IP per żądanie: round-robin między stronami albo to samo IP dla tej samej strony. [Przewodnik rotacyjne vs statyczne](https://rackproxies.com/pl/guides/rotating-vs-static-datacenter-proxies/) zawiera pełny przykład, a strona [format połączenia](https://rackproxies.com/pl/docs/connection-format/) ma konwerter dla całej listy. Respektuj tempo każdej strony niezależnie od rozmiaru listy: więcej IP nie podnosi limitu strony.

## Pytania o przykłady kodu

### Dlaczego używam http:// dla proxy, gdy strona to https://?

Schemat URL proxy opisuje Twoje połączenie z proxy, a nie ze stroną. Twój klient łączy się z proxy przez zwykły TCP, prosi je o otwarcie tunelu CONNECT, a następnie prowadzi TLS ze stroną wewnątrz niego. Treść strony pozostaje zaszyfrowana end to end; tylko login proxy podróżuje w czytelnej formie.

### Moje hasło ma znaki specjalne. Co się zmienia?

W formie URL zakoduj hasło przez `urllib.parse.quote(password, safe='')` w Pythonie lub `encodeURIComponent(password)` w JavaScripcie. Klienty, które przyjmują login osobno, takie jak `BasicAuth` w aiohttp, `username` i `password` w Playwright czy `-U` w curl, nie wymagają kodowania. Strona [format połączenia](https://rackproxies.com/pl/docs/connection-format/) wymienia te znaki.

### Dlaczego requests zgłasza brak zależności dla obsługi SOCKS?

Obsługa SOCKS w requests znajduje się w opcjonalnym dodatku. Zainstaluj go przez `pip install "requests[socks]"`, co dodaje PySocks, i używaj URL `socks5h://`, aby proxy rozwiązywało nazwy hostów. Proxy HTTP działają bez dodatkowego pakietu, więc możesz też zmienić URL na `http://` i pozostawić zależności bez zmian.

### Czy mogę uruchomić wiele żądań równolegle przez jedno IP?

Tak, w ramach uczciwego użytkowania; nie publikujemy limitu połączeń na IP. Utrzymuj rozsądny paralelizm dla własnej stabilności i respektuj tempo każdej strony: równoległe żądania do tej samej strony nadal liczą się do jej limitów. Rozliczane za IP na 30 dni, nie za GB, w ramach polityki uczciwego korzystania.

### Który URL testowy powinien najpierw wywołać mój kod?

Wywołaj `https://api.ipify.org` lub `https://httpbin.org/ip`: każdy zwraca widziane IP, więc potwierdzisz, że ruch wychodzi z Twojego proxy. Następnie wywołaj swój rzeczywisty cel. Jeśli URL testowy działa, a cel nie, problem jest między proxy a celem, a nie w Twoim kodzie.

### Czy potrzebuję dokumentu tożsamości, aby dostać proxy do tych przykładów?

Nie. Bez KYC: żadnego dowodu tożsamości, selfie ani dokumentów przy rejestracji, doładowaniu lub zakupie. Doładuj w BTC, USDT, USDC, ETH, SOL, LTC, kup plan z 1,29 USD i skopiuj linie ze swojego konta do fragmentów. Zobacz [cennik](https://rackproxies.com/pl/pricing/) dla każdego rozmiaru planu.

**Uruchom przykłady z własnym IP** 1 IP dla 1,29 USD, HTTP i SOCKS5 w zestawie. Bez KYC, płatność w krypto. [Zobacz cennik](https://rackproxies.com/pl/pricing/) · [Szybki start](https://rackproxies.com/pl/docs/quickstart/)

## Źródła

1. [strona man curl](https://curl.se/docs/manpage.html) — curl project (2026-10-19)
2. [Requests: Proxy i SOCKS](https://requests.readthedocs.io/en/latest/user/advanced/) — Requests (2026-10-19)
3. [aiohttp: Obsługa proxy](https://docs.aiohttp.org/en/stable/client_advanced.html) — aiohttp (2026-10-19)
4. [undici: ProxyAgent](https://undici.nodejs.org/) — Node.js (2026-10-19)
5. [proxy-agents (https-proxy-agent, socks-proxy-agent)](https://github.com/TooTallNate/proxy-agents) — GitHub (2026-10-19)
6. [Playwright: proxy HTTP](https://playwright.dev/docs/network) — Playwright (2026-10-19)

---

RackProxies: RackProxies to dostawca dedykowanych proxy serwerowni: adresy IPv4 wynajmowane za IP na 30 dni, płatne w kryptowalutach bez przesyłania dokumentów tożsamości. Strony obejmują 22 kraje i 34 miasta serwerowni z publicznymi danymi sieciowymi.
