Настройка SOCKS5/HTTP прокси для разных языков и инструментов
Руководство по подключению Socks5Proxy содержит рабочие примеры настройки SOCKS5 и HTTP-прокси для 7 инструментов: Python requests, Node.js, cURL, Selenium, Puppeteer, Playwright и Scrapy.
Какие данные нужны для подключения к прокси?
Каждая строка списка содержит 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-соединения, а также позволяет выполнять разрешение доменных имен на стороне прокси. В 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: 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 - отличаются только порты.
| Формат | Пример | Подходящие места |
|---|---|---|
| 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 - они могут различаться).
Если проблема не решена, вы можете обратиться в службу поддержки в панели управления. Укажите использованную строку, инструмент и сообщение об ошибке - это ускорит проверку.