Socks5Proxy

Посібник з підключення проксі: методи налаштування SOCKS5/HTTP для різних мов та інструментів

Посібник з підключення Socks5Proxy містить інструкції для 7 інструментів: Python requests, Node.js, cURL, Selenium, Puppeteer, Playwright та Scrapy, з прикладами робочого коду для підключення SOCKS5 та HTTP-проксі.

Python requestsМи підготували приклади для підключення HTTP-проксі та SOCKS5 (socks5h) у Python requests, включаючи автентифікацію, ротацію списку, повторні запити та управління сесією.Node.jsМи підготували приклади коду для підключення HTTP-проксі через ProxyAgent та SOCKS5-проксі через socks-proxy-agent у Node.js fetch(undici), а також код для ротації списку.cURLІнструкція з використання HTTP проксі (-x) та SOCKS5 (--socks5-hostname) в cURL: авторизація, вимірювання часу відповіді, скрипт для масової перевірки списку.SeleniumУ цьому посібнику ми розглянули, як підключити HTTP- та SOCKS5-проксі до Chrome та Firefox у Selenium, чому зручно використовувати IP-авторизацію в Chrome, та як запускати кілька браузерів паралельно.PuppeteerМи підготували приклади для підключення HTTP/SOCKS5-проксі через --proxy-server у Puppeteer, передачі імені користувача та пароля через page.authenticate та розділення IP за браузерами.PlaywrightМи підготували приклади для підключення HTTP/SOCKS5-проксі через proxy-опцію у Playwright, використання різних IP для кожного контексту та приклади для Python та Node.js.ScrapyУ цьому посібнику ми розглянули, як налаштувати проксі в Scrapy за допомогою HttpProxyMiddleware та meta proxy, як ротувати IP-адреси за допомогою завантажувального middleware та як керувати швидкістю.

Які дані потрібні для підключення до проксі?

Кожен рядок проксі містить 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.

ПунктПриклад значенняОпис
IP198.51.100.23Адреса проксі-сервера
HTTP порт8000HTTP та HTTPS(CONNECT) з'єднання
Порт SOCKS51080TCP з’єднання 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:pass198.51.100.23:8000:spx_user:spx_passРозділений екран налаштувань
user:pass@ip:portspx_user:spx_pass@198.51.100.23:8000Складання адреси у коді
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:1080Бібліотека SOCKS5
ip:port198.51.100.23:8000IP-авторизація, аргументи запуску браузера
CSVip,http_port,socks_port,user,pass,countryТаблиці, управлінські документи

Як безпечно зберігати дані проксі?

Не зберігайте ім'я користувача, пароль та API-ключі проксі у сховищі коду. Використовуйте змінні оточення або менеджери секретів. Якщо дані випадково потрапили до сховища, негайно згенеруйте нові API-ключі в панелі керування, щоб старі перестали працювати.

Якщо сервер має статичну IP, найбезпечніше використовувати IP авторизацію. Навіть якщо список потрапить до сторонніх осіб, з’єднання з недозволених IP буде неможливим. Ви можете додати до 10 IP-адрес і змінювати їх у будь-який час.

Якщо у вас велика команда, краще налаштувати отримання списків через API для кожного користувача, ніж розміщувати файли в спільній папці. Це полегшує управління та дозволяє перевіряти історію завантажень у разі проблем.

Що перевірити, якщо підключення не працює?

Спочатку перевірте проксі за допомогою cURL, щоб переконатися, що він відповідає. Код 407 означає неправильний логін або пароль, а якщо використовується IP авторизація, перевірте, чи IP вашого сервера доданий до списку дозволених. Якщо час підключення вичерпано, перевірте порт (наприклад, HTTP 8000, SOCKS5 1080).

Якщо проблема не вирішена, ви можете звернутися до служби підтримки на панелі управління. Будь ласка, вкажіть використаний рядок, інструмент та повідомлення про помилку для швидкого вирішення.

Посібник з підключення проксі: налаштування для Python, Node.js, Selenium | Socks5Proxy