Przewodnik dla deweloperów · 2 min czytania

Jak używać proxy z curl

curl ma wbudowaną obsługę proxy: kilka flag kieruje każde żądanie przez punkt końcowy HTTP lub SOCKS5. Ten przewodnik daje polecenia do skopiowania i wklejenia w Twoim proxy s4m, obejmujące uwierzytelnianie, HTTPS, zmienne środowiskowe i jak potwierdzić swój adres IP wyjścia.

Dlaczego kierować curl przez proxy

Kiedy curl łączy się bezpośrednio, serwer docelowy widzi prawdziwy adres IP twojej maszyny w połączeniu. Przekierowanie żądania przez proxy do przodu wprowadza pośrednika: teraz serwer docelowy widzi adres proxy, podczas gdy twój oryginalny adres pozostaje poza wymianą. To jest cały sens proxyzowania zautomatyzowanego ruchu — ukrywasz oryginalny adres IP hosta, który faktycznie wysyła żądanie, co utrzymuje twój główny serwer poza zasięgiem osób trzecich.

płatne proxy s4m są uwierzytelnione, datacenter SOCKS5 i punkty końcowe HTTP, rozliczane na gigabajty. Ten model pasuje do skryptów, testów skrobania, pipeline'ów CI i uderzania w API z stabilnego adresu. Jeśli zamiast tego chcesz, aby każda aplikacja na maszynie była tunelowana z płaską miesięczną stawką (nie rozliczaną na GB), połączenie WireGuard VPN jest zazwyczaj lepszym narzędziem — porównaj ruch proxy rozliczany z płaskimi planami VPN na cenach. Do szybkich testów jednorazowych, darmowa publiczna lista proxy oferuje proxy osób trzecich, które s4m weryfikuje na bieżąco, ale są one ściśle na własne ryzyko i nie są przez nas obsługiwane.

curl rozumie oba protokoły proxy natywnie, więc nie są wymagane dodatkowe narzędzia — zmieniasz tylko jeden znacznik lub schemat URL. Praktyczne różnice:

AspektProxy HTTP (port 3128)Proxy SOCKS5 (port 1080)
składnia curl-x http://...:3128-x socks5h://...:1080
ObsługujeHTTP i HTTPS (przez CONNECT)Jakiekolwiek połączenie TCP
Zdalne DNSTak, proxy rozwiązujeTak, z socks5h:// lub --socks5-hostname
AutoryzacjaUSER:PASSUSER:PASS

Wybierz HTTP, gdy potrzebujesz tylko ruchu webowego; wybierz SOCKS5, gdy chcesz zdalne DNS lub musisz tunelować protokół nie-HTTP.

Podstawowe flagi: -x, --socks5-hostname i auth

Każdy przykład kieruje do twojego punktu końcowego s4m na proxy.s4m.online — port 3128 dla HTTP, 1080 dla SOCKS5 — z USER:PASS zastępującymi twoje prawdziwe dane uwierzytelniające.

bash
# 1) HTTP/HTTPS through the HTTP proxy (port 3128)
#    curl auto-issues CONNECT for https:// URLs, so TLS stays end-to-end
curl -x http://USER:PASS@proxy.s4m.online:3128 https://example.com

# 2) SOCKS5 with remote DNS (port 1080)
#    socks5h:// resolves the hostname AT the proxy (avoids local DNS leaks)
curl -x socks5h://USER:PASS@proxy.s4m.online:1080 https://example.com

# 3) Same SOCKS5 call using dedicated flags instead of a URL scheme
curl --socks5-hostname proxy.s4m.online:1080 \
     --proxy-user USER:PASS \
     https://example.com

# 4) Keep credentials out of the proxy URL with -U / --proxy-user
curl -x http://proxy.s4m.online:3128 -U USER:PASS https://example.com

# 5) --proxy is just the long form of -x
curl --proxy http://USER:PASS@proxy.s4m.online:3128 https://example.com

Ustaw to raz za pomocą zmiennych środowiskowych proxy

Zamiast dodawać -x do każdego polecenia, wyeksportuj proxy raz i pozwól curl ponownie go używać przez całą sesję powłoki.

bash
# curl reads http_proxy in LOWERCASE only (a historical CGI safeguard);
# HTTPS_PROXY, ALL_PROXY and NO_PROXY work in either case.
export http_proxy="http://USER:PASS@proxy.s4m.online:3128"
export HTTPS_PROXY="http://USER:PASS@proxy.s4m.online:3128"

# No -x needed now:
curl https://example.com

# Prefer a SOCKS5 endpoint for everything instead:
export ALL_PROXY="socks5h://USER:PASS@proxy.s4m.online:1080"

# Let some hosts bypass the proxy entirely:
export NO_PROXY="localhost,127.0.0.1,.internal.example"

# Confirm the exit IP, then clean up:
curl https://api.ipify.org; echo
unset http_proxy HTTPS_PROXY ALL_PROXY NO_PROXY

Weryfikuj adres IP wyjścia i powszechne pułapki

Naj szybszym sposobem na potwierdzenie, że ruch rzeczywiście przechodzi przez proxy, jest zapytanie usługi echo, jaki adres IP widzi. Wykonaj to samo zapytanie z i bez -x i porównaj wyniki.

Bez proxy otrzymujesz adres swojej maszyny; z nim powinieneś otrzymać adres wyjściowy s4m. Jeśli oba są identyczne, proxy nie jest stosowane — sprawdź ponownie schemat, port i czy twoje dane uwierzytelniające wymagają kodowania URL.

  • Dane uwierzytelniające z symbolami: koduj znaki takie jak @ lub : w USER lub PASS, lub całkowicie unikaj problemu, przekazując je z --proxy-user.
  • Wycieki DNS SOCKS: użyj socks5h:// lub --socks5-hostname, aby zapytania DNS odbywały się przez proxy, a nie na lokalnym resolverze.
  • Wymagana autoryzacja proxy 407: para USER:PASS jest brakująca lub błędna dla tego punktu końcowego.
  • Rzeczywistość centrum danych: proxy s4m to adresy IP centrum danych, więc strona, która specjalnie blokuje zakresy centrum danych, nadal rozpozna je jako takie.
Share this page
FAQ

Pytania, odpowiedzi

Czy powinienem używać socks5:// czy socks5h:// z curl?

Preferuj socks5h:// (lub flagę --socks5-hostname). Rozwiązuje docelową nazwę hosta na proxy, więc twój lokalny serwer DNS nigdy nie widzi zapytania. Zwykłe socks5:// rozwiązuje lokalnie najpierw, co może ujawnić cel i użyć twojego własnego resolvera.

Czy HTTPS nadal działa przez proxy HTTP?

Tak, i nie są potrzebne dodatkowe flagi. Dla adresu https:// curl wysyła HTTP CONNECT do proxy i tuneluje TLS end-to-end, więc proxy przekazuje tylko zaszyfrowany strumień (widzi nazwę hosta przez SNI, a nie zawartość strony).

Czy proxy s4m są mieszkalne?

Nie. Płatne proxy s4m to uwierzytelnione punkty końcowe SOCKS5 i HTTP z centrum danych. Są stabilne i rozliczane za gigabajt, ale zakresy z centrum danych są identyfikowalne jako IP z centrum danych, więc nie przejdą jako połączenie domowe.

Dlaczego moja zmienna HTTP_PROXY jest ignorowana?

curl odczytuje zmienną http_proxy tylko w małych literach, co jest długotrwałym zabezpieczeniem przed wstrzykiwaniem nagłówków CGI. HTTPS_PROXY, ALL_PROXY i NO_PROXY są odczytywane w obu przypadkach. Użyj małych liter http_proxy lub po prostu przekaż -x w wierszu poleceń.

Czy mogę zawsze wychodzić z tego samego adresu IP?

Tak, z dedykowanym dodatkiem osobistego IP. To statyczny adres, który jest tylko Twój, powiązany z Twoim proxy (lub VPN) i opcjonalnie odłączony od Twojej tożsamości. Zobacz stronę z cenami, aby uzyskać szczegóły.

Uzyskaj dane uwierzytelniające proxy w kilka minut

Utwórz darmowe konto s4m, aby uzyskać uwierzytelnione punkty końcowe SOCKS5 i HTTP z rozliczanym ruchem pay-as-you-go, plus opcjonalny dedykowany adres IP. Anonimowa rejestracja i płatność kryptowalutą są obsługiwane, a Ty możesz przetestować powyższe flagi.

Ludzie znaleźli tę stronę, szukając

Rzeczywiste frazy wyszukiwania, na które ta strona odpowiada — powiązane otwierają stronę, która je szczegółowo omawia.