Настройка прокси в Apify

Свои прокси в Apify: раздел Proxy and browser configuration в акторе, параметр proxyUrls в коде и выбор порта для ротации или сессии.

Обновлено · Редакция Prokso

Данные для подключения
Хост
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 в Apify. Займёт несколько минут.

Шаг 1. Возьмите данные прокси в кабинете

Откройте план и скопируйте хост gw.prokso.com, порт, логин и пароль. Порт 823 — HTTP, 824 — SOCKS5 (оба дают новый IP на каждый запрос); порты 10000–20000 — фиксированный IP до 120 минут, работают и как HTTP, и как SOCKS5 (каждый порт — отдельный адрес). Страну задают в логине: логин__cr.ua.

Блок «Доступ» на странице плана: хост, порты, логин и пароль для строки прокси
Блок «Доступ» на странице плана: хост, порты, логин и пароль для строки прокси

Шаг 2. Готовый актор: укажите свои прокси

Откройте нужный актор в Apify Console, перейдите на вкладку Input и найдите раздел Proxy and browser configuration. Выберите вариант со своими прокси и вставьте адрес в формате http://ЛОГИН:ПАРОЛЬ@gw.prokso.com:823.

Шаг 3. Свой код: передайте proxyUrls

В своём акторе создайте конфигурацию прокси через Actor.createProxyConfiguration с параметром proxyUrls и передайте её краулеру.

import { Actor } from "apify";
import { HttpCrawler } from "crawlee";

await Actor.init();

const proxyConfiguration = await Actor.createProxyConfiguration({
    proxyUrls: ["http://ЛОГИН:ПАРОЛЬ@gw.prokso.com:823"],
});

const crawler = new HttpCrawler({
    proxyConfiguration,
    additionalMimeTypes: ["application/json"],
    async requestHandler({ json }) {
        console.log(json);
    },
});

await crawler.run(["https://api.ipify.org?format=json"]);
await Actor.exit();

Шаг 4. Выберите порт под задачу

Порт 823 даёт новый адрес на каждый запрос — так запросы распределяются между многими IP. Если краулеру нужна сессия с одним адресом, добавьте в proxyUrls несколько адресов с фиксированными портами 10000–20000: Apify будет перебирать их по очереди.

Шаг 5. Проверьте в журнале запуска

Запустите актор: пример обращается к https://api.ipify.org и выводит в журнал (Log) IP, который видит сайт. Это должен быть адрес прокси. Если в журнале ошибка соединения с прокси, проверьте логин, пароль и порт.

Акторы работают в облаке

Актор запускается на серверах Apify, а не на вашем компьютере. Поэтому доступ по IP без пароля здесь не подходит: адреса облака вам неизвестны и меняются. Используйте адрес прокси с логином и паролем.

По той же причине проверять IP нужно в журнале запуска, а не в своём браузере.

Сессии и ротация в Crawlee

С портом 823 каждый запрос уходит с нового IP — отдельный пул сессий для ротации не нужен. Если сайт требует, чтобы серия запросов шла с одного адреса, передайте в proxyUrls несколько адресов с фиксированными портами: Crawlee закрепит адрес за сессией и сменит его, когда сессия будет помечена как неудачная.

Число повторов ограничьте параметром maxRequestRetries: каждый повтор — это ещё один запрос и ещё трафик.

Как тратить меньше трафика

Выбирайте самый лёгкий краулер, который справляется с задачей. HttpCrawler и CheerioCrawler загружают только HTML. Браузерные краулеры загружают страницу целиком и расходуют в разы больше — оставьте их для сайтов, которые не работают без JavaScript. Оценить объём поможет калькулятор трафика.

Вопросы и ответы

Нужна ли подписка на Apify Proxy?

Нет. Свои прокси указываются вместо встроенных прокси Apify; вы платите только за трафик своего плана Prokso.

Какой тип прокси выбрать для Apify?

Для сайтов с простой защитой хватает серверных прокси — они самые дешёвые. Если сайт блокирует адреса дата-центров, возьмите резидентские.

Где хранить логин и пароль прокси?

Не в коде. Используйте секретные поля ввода актора или переменные окружения, помеченные как секретные.

Актор отвечает 407. Что проверить?

Логин и пароль в адресе прокси, кодирование спецсимволов и остаток трафика на плане.