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.
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).
| Pozycja | Przykładowa wartość | Opis |
|---|---|---|
| IP | 198.51.100.23 | Adres serwera proxy |
| Port HTTP | 8000 | Połączenie HTTP i HTTPS(CONNECT) |
| Port SOCKS5 | 1080 | Połączenie TCP SOCKS5 |
| Nazwa użytkownika | spx_user | Uwierzytelnianie za pomocą nazwy użytkownika i hasła |
| Hasło | spx_pass | Uwierzytelnianie 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.
| Format | Przykład | Idealne zastosowania |
|---|---|---|
| ip:port:user:pass | 198.51.100.23:8000:spx_user:spx_pass | Podzielony ekran ustawień w Cannes |
| user:pass@ip:port | spx_user:spx_pass@198.51.100.23:8000 | Łączenie adresów w kodzie |
| http://user:pass@ip:port | http://spx_user:spx_pass@198.51.100.23:8000 | requests, cURL, Scrapy |
| socks5://user:pass@ip:port | socks5://spx_user:spx_pass@198.51.100.23:1080 | Biblioteka SOCKS5 |
| ip:port | 198.51.100.23:8000 | Uwierzytelnianie IP, argumenty uruchomieniowe przeglądarki |
| CSV | ip,http_port,socks_port,user,pass,country | Tabele 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ć.