Bez KYC — brak dowodu, selfie i dokumentów. Płać w kryptowalutach: BTC, USDT, USDC, ETH, SOL, LTC
Język: Polski
Rozpocznij

Dokumentacja · curl 7.x i 8.x · Linux, macOS, Windows

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

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.

Ostatnia aktualizacja: · 3 min czytania

Szybka odpowiedź

Jak użyć proxy z curl?

Użyj curl -x http://USERNAME:[email protected]: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

-x / --proxyURL proxy: http://host:port, poświadczenia opcjonalne w URL
-U / --proxy-userPoświadczenia proxy jako USERNAME:PASSWORD, trzymane poza URL
--socks5-hostnameProxy SOCKS5 z DNS rozwiązywanym na wyjściu
-vWyświetla wymianę CONNECT oraz status proxy
-wWyświetla czas, rozmiar i %{http_connect}, status CONNECT proxy
--max-time, --connect-timeoutCał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
# 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
# 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
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
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)
export https_proxy="http://USERNAME-country-us:[email protected]: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 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.

Od 0,50 USD/GB · bez KYC

Rozpocznij