- Хост
- gw.prokso.com
- Порт
- 823 HTTP · 824 SOCKS5 — новий IP на кожен запит · 10000–20000 фіксований IP (sticky-сесія), HTTP(S) і SOCKS5
- Логін і пароль
- у кабінеті, на сторінці плану
Готові рядки у потрібному форматі генерує кабінет: оберіть країну, тип IP і протокол.
- Хост — gw.prokso.com, порти 823 (HTTP), 824 (SOCKS5), 10000–20000 (фіксований IP, HTTP або SOCKS5)
- Логін і пароль — у кабінеті на сторінці плану
- Перевіряйте IP у відповіді самого запиту через проксі: сторінка «Мій IP» у браузері ваш скрипт не перевіряє
Покрокова інструкція, як підключити проксі Prokso в Node.js. Займе кілька хвилин.
Крок 1. Візьміть дані проксі в особистому кабінеті
Відкрийте план і скопіюйте хост gw.prokso.com, порт, логін і пароль. Порт 823 — HTTP, 824 — SOCKS5 (обидва дають новий IP на кожен запит); порти 10000–20000 — фіксований IP (sticky-сесія) до 120 хвилин, працюють і як HTTP, і як SOCKS5 (кожен порт — окрема адреса). Країну задають у логіні: логін__cr.ua.

Крок 2. Встановіть пакети
Для запитів через проксі знадобляться axios і https-proxy-agent: npm i axios https-proxy-agent.
Крок 3. Створіть агент проксі
Передайте адресу проксі в HttpsProxyAgent і підключіть його до запиту. Опцію proxy: false лишайте, щоб axios не накладав власні налаштування.
// npm i axios https-proxy-agent
import axios from "axios";
import { HttpsProxyAgent } from "https-proxy-agent";
const agent = new HttpsProxyAgent("http://ЛОГІН:ПАРОЛЬ@gw.prokso.com:823");
const { data } = await axios.get("https://api.ipify.org?format=json", { httpsAgent: agent, proxy: false });
console.log(data);Збережіть код як check.mjs і запустіть node check.mjs.
Крок 4. Перемикайтеся між режимами
Порт 823 — новий IP на кожен запит, 10000–20000 — постійний IP для сесії. Для SOCKS5 використайте пакет socks-proxy-agent і порт 824 (ротація) або той самий фіксований порт 10000–20000.
Крок 5. Перевірте вивід скрипта
Запустіть приклад із кроку 3: axios іде на https://api.ipify.org через агент проксі й виводить у консоль { ip: '…' }. Це адреса, яку бачить сайт, — вона має відрізнятися від вашої. Якщо бачите помилку 407, перевірте логін і пароль. Сторінка «Мій IP» у браузері тут нічого не покаже: браузер іде напряму.

Один агент на весь застосунок
Створюйте агент проксі один раз і використовуйте його повторно в усіх запитах. Новий агент на кожен запит відкриває нове з'єднання з проксі, і скрипт працює повільніше. Найзручніше зібрати екземпляр axios із потрібними налаштуваннями:
import axios from "axios";
import { HttpsProxyAgent } from "https-proxy-agent";
const agent = new HttpsProxyAgent("http://USERNAME:PASSWORD@gw.prokso.com:823");
// one client for the whole app: proxy, timeout, no built-in axios proxy
const http = axios.create({ httpAgent: agent, httpsAgent: agent, proxy: false, timeout: 30000 });
const { data } = await http.get("https://prokso.com/ip");
console.log(data);Тайм-аут задавайте явно: за замовчуванням axios чекає на відповідь нескінченно, і один запит, що завис, зупинить чергу.
Що означають помилки
- Відповідь 407. Проксі не прийняв логін або пароль. Перевірте рядок і залишок трафіку на плані.
- ECONNREFUSED. На вказаному хості й порту ніхто не відповідає: одруківка в адресі або порту.
- ETIMEDOUT або ECONNRESET. З'єднання обірвалося або не встановилося. Повторіть запит: на порту 823 він піде з нового IP.
- Запит пішов із вашого IP. Не вказано
proxy: false, і axios застосував власні налаштування, або агент не передано для потрібного протоколу.
Коди 403 і 429 надходять від сайту, а не від проксі. Що з ними робити, описано на сторінці коди помилок проксі.
Паралельні запити
Promise.all запускає всі запити одразу. Для сотень адрес це перевантажує і сайт, і ваш скрипт. Обмежуйте кількість одночасних запитів чергою: десяти–двадцяти зазвичай достатньо, а в разі відповідей 429 зменшуйте.
Питання й відповіді
Чи читає Node.js змінні HTTP_PROXY?
Вбудовані модулі за замовчуванням їх не читають. Надійніше передавати проксі явно через агент, як у прикладі.
Як закодувати пароль зі спецсимволами?
Огорніть логін і пароль в <code>encodeURIComponent()</code> під час збирання адреси проксі.
Як тримати один IP для серії запитів?
Замініть порт 823 на фіксований порт із діапазону 10000–20000: усі запити через нього підуть з одного IP, доки триває сесія.