Socks5Proxy

Przewodnik po łączeniu proxy, metody konfiguracji SOCKS5 i HTTP dla różnych języków i narzędzi

Przewodnik po łączeniu Socks5Proxy zawiera instrukcje i działające przykłady kodu dla łączenia proxy SOCKS5 i HTTP w 7 narzędziach: Python requests, Node.js, cURL, Selenium, Puppeteer, Playwright, Scrapy.

Python requestsOpisaliśmy, jak podłączyć HTTP i SOCKS5 proxy (socks5h) w Python requests, uwierzytelnianie, rotację listy, ponawianie i zarządzanie sesją, wraz z przykładowym kodem.Node.jsOpisaliśmy, jak podłączyć HTTP proxy przez ProxyAgent i SOCKS5 proxy przez socks-proxy-agent w Node.js fetch(undici) oraz kod do rotacji listy.cURLJak używać HTTP proxy (-x) i SOCKS5 proxy (--socks5-hostname) w cURL, uwierzytelnianie, pomiar czasu odpowiedzi i skrypty do masowego sprawdzania listy proxy.SeleniumJak połączyć HTTP i SOCKS5 proxy w Chrome i Firefox w Selenium, dlaczego używać autoryzacji IP w Chrome i jak uruchamiać wiele przeglądarek równolegle zostało podsumowane.PuppeteerOpisaliśmy, jak podłączyć HTTP i SOCKS5 proxy przez --proxy-server w Puppeteer, przekazać nazwę użytkownika i hasło przez page.authenticate oraz rozdzielić IP dla różnych przeglądarek.PlaywrightOpisaliśmy, jak podłączyć HTTP i SOCKS5 proxy przez opcję proxy w Playwright, używać różnych IP dla każdego kontekstu oraz przykłady w Pythonie i Node.js.ScrapyJak połączyć proxy w Scrapy za pomocą HttpProxyMiddleware i meta proxy, middleware rotacyjne dla każdego żądania i ustawienia prędkości zostały podsumowane.

Jakie informacje są potrzebne do połączenia z proxy?

Jedna linia proxy zawiera adres IP, port HTTP, port SOCKS5, nazwę użytkownika i hasło. Możesz wyświetlić listę w sekcji Moje proxy w panelu, pobrać ją w wybranym formacie lub otrzymać tę samą listę przez API.

Wszystkie przykłady używają IP 198.51.100.23, port HTTP 8000, port SOCKS5 1080, login spx_user, hasło spx_pass. 198.51.100.0/24 to adres dokumentacyjny - zamień na wartości z twojej listy proxy.

Są dwie metody uwierzytelniania: z nazwą użytkownika i hasłem oraz uwierzytelnianie IP, gdzie rejestrujesz w panelu do 10 adresów IPv4 twojego serwera i łączysz się tylko przez ip:port. Uwierzytelnianie IP jest wygodne w narzędziach, które nie akceptują haseł (np. argumenty uruchomieniowe Chrome).

PozycjaPrzykładowa wartośćOpis
IP198.51.100.23Adres serwera proxy
Port HTTP8000Połączenie HTTP i HTTPS(CONNECT)
Port SOCKS51080Połączenie TCP SOCKS5
Nazwa użytkownikaspx_userUwierzytelnianie za pomocą nazwy użytkownika i hasła
Hasłospx_passUwierzytelnianie za pomocą nazwy użytkownika i hasła

Jak się łączyć: HTTP czy SOCKS5?

Większość zadań żądających stron i API wystarczy wykonać przez port HTTP. Adresy HTTPS są przekazywane zaszyfrowane metodą CONNECT, więc proxy nie modyfikuje treści.

SOCKS5 przekazuje nie tylko połączenia HTTP, ale także TCP, a rozpoznawanie nazw domen może być wykonywane przez proxy. W Pythonie użyj socks5h, a w cURL --socks5-hostname, aby zapobiec ujawnieniu zapytań DNS z Twojego serwera. Każdy IP ma oba porty, więc wystarczy wybrać metodę obsługiwaną przez narzędzie.

Jak pobrać listę i używać jej w kodzie?

Klucz API jest tworzony na ekranie kluczy API w panelu i pokazywany tylko raz, więc przechowuj go w bezpiecznym miejscu. Każde żądanie musi zawierać klucz w nagłówku Authorization: Bearer. Poniższy kod to przykład Pythona pobierającego listę SOCKS5 w formacie user:pass@ip:port. Każdy przewodnik pokazuje, jak połączyć tę listę z narzędziem.

import requests

API = "https://socks5proxy.io/api/v1"
KEY = "YOUR_API_KEY"

# Download the proxy list as plain text, one proxy per line
r = requests.get(
    API + "/proxies/download",
    params={"format": "user:pass@ip:port", "protocol": "socks5"},
    headers={"Authorization": "Bearer " + KEY},
    timeout=30,
)
r.raise_for_status()
proxies = [line.strip() for line in r.text.splitlines() if line.strip()]
print(len(proxies), "proxies loaded")

Od jakiego przewodnika zacząć?

Wybierz przewodnik odpowiedni do języka i narzędzi, których używasz. Wszystkie przewodniki zawierają metody sprawdzania połączeń, co sprawdzić w przypadku błędów i jak dzielić IP.

  • Python requests: najprostsze podłączenie HTTP i SOCKS5 oraz rotacja listy
  • Node.js: undici ProxyAgent(HTTP) i socks-proxy-agent(SOCKS5)
  • cURL: sprawdzanie połączenia i pomiar czasu odpowiedzi z wiersza poleceń
  • Selenium: Chrome i autoryzacja IP, konfiguracja Firefox
  • Puppeteer: --proxy-server i page.authenticate
  • Playwright: proxy dla przeglądarek i kontekstów
  • Scrapy: meta proxy i middleware rotacyjne dla każdego żądania

Który format listy wybrać?

Różne narzędzia akceptują różne formaty, więc przy pobieraniu listy możesz wybrać odpowiedni. Większość bibliotek akceptuje formaty jak http://user:pass@ip:port czy socks5://user:pass@ip:port. Jeśli program ma osobne pola na IP, port, login i hasło, format ip:port:user:pass ułatwia wklejanie.

Jeśli używasz uwierzytelniania IP, wybierz format ip:port. Do wklejania w arkusze kalkulacyjne lub dokumenty zarządcze wygodny jest format CSV. Tę samą listę można pobrać osobno dla HTTP i SOCKS5, różnią się tylko porty.

FormatPrzykładIdealne zastosowania
ip:port:user:pass198.51.100.23:8000:spx_user:spx_passPodzielony ekran ustawień w Cannes
user:pass@ip:portspx_user:spx_pass@198.51.100.23:8000Łączenie adresów w kodzie
http://user:pass@ip:porthttp://spx_user:spx_pass@198.51.100.23:8000requests, cURL, Scrapy
socks5://user:pass@ip:portsocks5://spx_user:spx_pass@198.51.100.23:1080Biblioteka SOCKS5
ip:port198.51.100.23:8000Uwierzytelnianie IP, argumenty uruchomieniowe przeglądarki
CSVip,http_port,socks_port,user,pass,countryTabele kalkulacyjne, dokumenty zarządcze

Jak bezpiecznie przechowywać informacje o proxy?

Nie umieszczaj nazwy użytkownika, hasła i klucza API proxy w repozytorium kodu. Zamiast tego użyj zmiennych środowiskowych lub menedżera tajnych wartości. Jeśli przypadkowo zostały przesłane do repozytorium, wygeneruj nowy klucz API w panelu, aby uniemożliwić użycie poprzedniego klucza.

Jeśli Twój serwer ma stały adres IP, autoryzacja IP jest najbezpieczniejsza. Nawet jeśli lista wycieknie, połączenie będzie możliwe tylko z zarejestrowanych adresów IP. Możesz dodać do 10 adresów IP i zmieniać je w dowolnym momencie.

Jeśli masz wielu członków zespołu, łatwiej jest zarządzać listami, pozwalając każdemu pobierać je przez API, niż udostępniać pliki w folderze. Pozwala to również na śledzenie historii pobierania w przypadku problemów.

Co sprawdzić, gdy połączenie nie działa?

Najpierw sprawdź w cURL, czy proxy w ogóle odpowiada. Kod 407 oznacza błąd loginu/hasła, a przy autoryzacji IP upewnij się, że IP serwera wysyłającego żądania jest na liście dozwolonych. Jeśli połączenie przekracza limit czasu, sprawdź port (np. HTTP 8000, SOCKS5 1080 - każdy wiersz może mieć inną wartość).

Jeśli problem nie zostanie rozwiązany, możesz skontaktować się z pomocą techniczną w panelu. Podaj używany wiersz, narzędzie i komunikat błędu, abyśmy mogli szybko sprawdzić.

Przewodnik po łączeniu proxy, konfiguracja dla Python, Node.js, Selenium | Socks5Proxy