Посібник з підключення проксі: методи налаштування SOCKS5/HTTP для різних мов та інструментів
Посібник з підключення Socks5Proxy містить інструкції для 7 інструментів: Python requests, Node.js, cURL, Selenium, Puppeteer, Playwright та Scrapy, з прикладами робочого коду для підключення SOCKS5 та HTTP-проксі.
Які дані потрібні для підключення до проксі?
Кожен рядок проксі містить IP-адресу, HTTP-порт, SOCKS5-порт, ім'я користувача та пароль. Список доступний у панелі керування на сторінці "Мої проксі" у різних форматах або через API.
Усі приклади в цьому посібнику використовують IP 198.51.100.23, HTTP-порт 8000, SOCKS5-порт 1080, логін spx_user та пароль spx_pass. Діапазон 198.51.100.0/24 призначений для документації і не підключається насправді, тому замініть ці значення на свої зі списку проксі.
Є два методи аутентифікації: використання імені користувача та пароля або IP аутентифікація, де ви можете зареєструвати до 10 IPv4 адрес вашого сервера в панелі управління та підключатися лише через ip:port. IP аутентифікація зручна для інструментів, які не підтримують введення пароля, наприклад, аргументи запуску Chrome.
| Пункт | Приклад значення | Опис |
|---|---|---|
| IP | 198.51.100.23 | Адреса проксі-сервера |
| HTTP порт | 8000 | HTTP та HTTPS(CONNECT) з'єднання |
| Порт SOCKS5 | 1080 | TCP з’єднання SOCKS5 |
| Ім'я користувача | spx_user | Аутентифікація за ім'ям/паролем |
| Пароль | spx_pass | Аутентифікація за ім'ям/паролем |
Як підключитися: HTTP чи SOCKS5?
Для більшості завдань, які запитують веб-сторінки та API, достатньо HTTP-порту. HTTPS-адреси також передаються зашифрованими через метод CONNECT, тому проксі не змінює вміст.
SOCKS5 може передавати не лише HTTP, а й TCP-з'єднання, а також дозволяє виконувати DNS-запити через проксі. У Python використовуйте socks5h, у cURL - --socks5-hostname, щоб ваші DNS-запити не виходили з вашого сервера. Кожен IP-адреса має обидва порти, тому ви можете обрати той, який підтримує ваш інструмент.
Як отримати список через код?
API-ключі створюються в розділі API-ключів панелі керування та показуються лише один раз - зберігайте їх у безпечному місці. Додавайте ключ у заголовок Authorization: Bearer у кожному запиті. У цьому прикладі Python отримує список SOCKS5 у форматі user:pass@ip:port. У гайдах описано, як підключити цей список до інструментів.
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")З якого посібника почати?
Оберіть гайд, який відповідає вашій мові програмування та інструментам. Усі гайди містять інструкції з перевірки підключення, дій у разі помилок та розподілу IP.
- Python requests: найпростіше підключення HTTP/SOCKS5 та ротація списку
- Node.js: undici ProxyAgent (HTTP) та socks-proxy-agent (SOCKS5)
- cURL: перевірка з'єднання та вимірювання часу відповіді у командному рядку
- Selenium: Chrome з IP-авторизацією та налаштування Firefox
- Puppeteer: --proxy-server та page.authenticate
- Playwright: проксі для кожного браузера та контексту
- Scrapy: використання meta proxy та ротаційного middleware
Який формат списку вибрати?
Оскільки різні інструменти підтримують різні формати, ви можете обрати потрібний формат при завантаженні списку. Більшість бібліотек приймають адреси у форматі http://user:pass@ip:port або socks5://user:pass@ip:port. Для програм, де налаштування розділені на IP, порт, ім'я користувача та пароль, зручно використовувати формат ip:port:user:pass.
Якщо використовуєте IP-авторизацію, оберіть формат ip:port. Для таблиць або документів зручніший CSV. Ви можете отримати окремі списки для HTTP та SOCKS5 (різняться лише портами).
| Формат | Приклад | Suitable locations |
|---|---|---|
| ip:port:user:pass | 198.51.100.23:8000:spx_user:spx_pass | Розділений екран налаштувань |
| user:pass@ip:port | spx_user:spx_pass@198.51.100.23:8000 | Складання адреси у коді |
| 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 | Бібліотека SOCKS5 |
| ip:port | 198.51.100.23:8000 | IP-авторизація, аргументи запуску браузера |
| CSV | ip,http_port,socks_port,user,pass,country | Таблиці, управлінські документи |
Як безпечно зберігати дані проксі?
Не зберігайте ім'я користувача, пароль та API-ключі проксі у сховищі коду. Використовуйте змінні оточення або менеджери секретів. Якщо дані випадково потрапили до сховища, негайно згенеруйте нові API-ключі в панелі керування, щоб старі перестали працювати.
Якщо сервер має статичну IP, найбезпечніше використовувати IP авторизацію. Навіть якщо список потрапить до сторонніх осіб, з’єднання з недозволених IP буде неможливим. Ви можете додати до 10 IP-адрес і змінювати їх у будь-який час.
Якщо у вас велика команда, краще налаштувати отримання списків через API для кожного користувача, ніж розміщувати файли в спільній папці. Це полегшує управління та дозволяє перевіряти історію завантажень у разі проблем.
Що перевірити, якщо підключення не працює?
Спочатку перевірте проксі за допомогою cURL, щоб переконатися, що він відповідає. Код 407 означає неправильний логін або пароль, а якщо використовується IP авторизація, перевірте, чи IP вашого сервера доданий до списку дозволених. Якщо час підключення вичерпано, перевірте порт (наприклад, HTTP 8000, SOCKS5 1080).
Якщо проблема не вирішена, ви можете звернутися до служби підтримки на панелі управління. Будь ласка, вкажіть використаний рядок, інструмент та повідомлення про помилку для швидкого вирішення.