# curl z proxy HTTP i SOCKS5: przykłady do kopiowania

> Przykłady curl proxy: -x i -U, SOCKS5 przez --socks5-hostname, sticky sessions, status CONNECT i pomiary czasu z -w, curl.exe na Windows.

- URL: https://crawlrelay.com/pl/docs/curl/
- Ostatnia aktualizacja: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

curl to najszybszy sposób testowania poświadczeń, targetowania i czasu zanim zaczniesz scraper. Każde poniższe polecenie uruchamia się samodzielnie po zastąpieniu USERNAME i PASSWORD.

**Szybka odpowiedź — Jak użyć proxy z curl?**

Użyj `curl -x http://USERNAME:PASSWORD@gw.crawlrelay.com:7777 https://api.ipify.org` dla proxy HTTP lub `--socks5-hostname gw.crawlrelay.com:7778` z `-U USERNAME:PASSWORD` dla SOCKS5. **CrawlRelay** to proxy rezydencjalne z krajem i sticky session w nazwie użytkownika, np. `USERNAME-country-de-session-t1-ttl-10`. Od 0,50 USD/GB. Płatne kryptowalutą, bez KYC.

## flaggi curl, które potrzebujesz

| Atrybut | Wartość |
| --- | --- |
| `-x` / `--proxy` | URL proxy: `http://host:port`, poświadczenia opcjonalne w URL |
| `-U` / `--proxy-user` | Poświadczenia proxy jako `USERNAME:PASSWORD`, trzymane poza URL |
| `--socks5-hostname` | Proxy SOCKS5 z DNS rozwiązywanym na wyjściu |
| `-v` | Wyświetla wymianę CONNECT oraz status proxy |
| `-w` | Wyświetla czas, rozmiar i `%{http_connect}`, status CONNECT proxy |
| `--max-time`, `--connect-timeout` | Całkowite i limit czasu połączenia, w sekundach |

## Jakie są podstawowe polecenia dla proxy?

Każde z nich wyświetla IP wyjściowe widoczne dla strony.

*Proxy HTTP, rotujące, a potem celowane i przyklejone*

```bash
# Rotating exit, any country
curl -x http://gw.crawlrelay.com:7777 -U USERNAME:PASSWORD https://api.ipify.org

# Country and city (city availability varies)
curl -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us-city-chicago:PASSWORD https://api.ipify.org

# Sticky: run it twice, the IP stays the same for up to 10 minutes (it can change earlier)
curl -x http://gw.crawlrelay.com:7777 -U USERNAME-country-de-session-t1-ttl-10:PASSWORD https://api.ipify.org

# SOCKS5, DNS resolved at the exit
curl --socks5-hostname gw.crawlrelay.com:7778 -U USERNAME-country-gb:PASSWORD https://api.ipify.org
```

## Jak debugować połączenie proxy za pomocą curl?

Uruchom z `-v` i czytaj linie wokół `CONNECT`. Działający tunel pokazuje `HTTP/1.1 200 Connection established`, następnie handshake TLS ze stroną. Każdy inny status na tej linii pochodzi od proxy: 407 oznacza konieczność podania danych uwierzytelniających, 502 lub 504 oznacza problemy z wyjściem lub celem. Format `-w` poniżej wyświetla te same informacje w jednej linii, co jest wygodne w pętlach i testach CI.

*Szczegółowy CONNECT i raport czasowy w jednej linii*

```bash
# Full exchange, including the proxy's answer to CONNECT
curl -v -x http://gw.crawlrelay.com:7777 -U USERNAME:PASSWORD https://example.com/ -o /dev/null

# One line: proxy CONNECT status, HTTP status, compressed bytes and timings
curl -s --compressed -o /dev/null -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us:PASSWORD \
  -w 'connect=%{http_connect} http=%{http_code} bytes=%{size_download} tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s\n' \
  https://example.com/
```

## Jak sprawdzić, czy rotacja i sesje działają?

Wykonaj kilka żądań IP. Bez ID sesji każde wykonanie to nowe połączenie i zwykle inne IP. Z ID sesji IP powinno pozostać to samo aż do wygaśnięcia TTL, ale może zmienić się wcześniej.

*Rotacja vs przyklejone proxy w pętli shell*

```bash
echo "rotating:"
for i in 1 2 3 4 5; do
  curl -s -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us:PASSWORD https://api.ipify.org; echo
done

echo "sticky:"
for i in 1 2 3 4 5; do
  curl -s -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us-session-loop1-ttl-5:PASSWORD https://api.ipify.org; echo
done
```

## Jak korzystać z curl z proxy na Windows?

Wywołaj `curl.exe`, a nie `curl`. W Windows PowerShell 5.1, `curl` to alias dla `Invoke-WebRequest`, który nie rozumie `-x` ani `-U`. Windows 10 i 11 mają prawdziwe curl jako `curl.exe`. W PowerShellu argumenty ze znakami specjalnymi umieszczaj w cudzysłowie, a dosłowny znak `$` w haśle wpisuj w pojedynczych cudzysłowach.

*PowerShell*

```powershell
curl.exe -x http://gw.crawlrelay.com:7777 -U 'USERNAME-country-fr:PASSWORD' https://api.ipify.org
```

## Jak ustawić proxy raz na wszystkie polecenia?

curl czyta zmienne środowiskowe `https_proxy` i `http_proxy`, podobnie wiele innych narzędzi. Ustaw je dla sesji shell, a `NO_PROXY` dla hostów, które nie powinny korzystać z proxy, np. własne API. Unikaj umieszczania hasła w zmiennej eksportowanej do wszystkich procesów potomnych na współdzielonym urządzeniu.

*Zmienne środowiskowe (bash, zsh)*

```bash
export https_proxy="http://USERNAME-country-us:PASSWORD@gw.crawlrelay.com:7777"
export http_proxy="$https_proxy"
export NO_PROXY="localhost,127.0.0.1,.internal.example"

curl https://api.ipify.org   # now uses the proxy
unset https_proxy http_proxy # back to direct
```

## curl i proxy: pytania

### Jaka jest różnica między --socks5 i --socks5-hostname?

Przy `--socks5` curl rozwiązuje nazwę hosta lokalnie i wysyła IP do proxy. Przy `--socks5-hostname` wysyła nazwę hosta, a proxy rozwiązuje ją po swojej stronie. Używaj `--socks5-hostname` do scrapowania, aby odpowiedzi DNS pasowały do kraju wyjścia, a lokalny resolver nie widział pobieranych domen.

### Dlaczego curl wyświetla 'CONNECT tunnel failed, response 407'?

Proxy odrzuciło dane uwierzytelniające lub ich nie otrzymało. Sprawdź nazwę użytkownika i hasło, zakoduj znaki specjalne w URL `-x` lub przekaż je przez `-U`. Strona [407](https://crawlrelay.com/pl/docs/errors/407-proxy-authentication-required/) wymienia inne przyczyny.

### Jak sprawdzić, ile bajtów kosztuje strona przez proxy?

Dodaj `--compressed -o /dev/null -w '%{size_download}\n'`. `--compressed` powoduje, że curl prosi o gzip lub brotli jak twój scraper, a `%{size_download}` liczy skompresowane bajty przesłane przez sieć. Bez tego serwer wysyła stronę nieskompresowaną i liczba może być wielokrotnie wyższa. Przetestuj na kilku prawdziwych stronach, by oszacować ruch na 1000 stron.

### Czy curl może używać HTTP/2 lub HTTP/3 przez proxy?

HTTP/2 działa w tunelu CONNECT, jeśli strona to obsługuje, bo tunel przenosi TLS end-to-end. HTTP/3 działa na UDP, którego CONNECT przez proxy HTTP nie przenosi, więc użyj HTTP/2 lub HTTP/1.1.

**Testuj cele z poziomu konsoli** 1,50 USD dla 1 GB, wystarczająco dla tysięcy testów curl. [Wybierz 1 GB](https://crawlrelay.com/app/checkout/?plan=res-1&product=residential&lang=pl) · [Podręcznik błędów](https://crawlrelay.com/pl/docs/errors/)

---

CrawlRelay: CrawlRelay to serwis proxy rezydencjalne i mobilne proxy 4G/5G z rotacją, stworzony dla programistów i potoków danych AI: ruch bez wygasania w modelu pay-as-you-go od 0,50 USD/GB, płatny w kryptowalutach, bez konieczności przesyłania dokumentów. Bez KYC — brak dowodu, selfie i dokumentów. Płać w kryptowalutach.
