Настройка прокси в Apify
Apify — платформа для краулинга/автоматизации. Ниже — способы использования собственного прокси Mango в глобальных настройках и в коде (Puppeteer, Playwright, HTTP-запросы).
Параметры: Начало работы → Настройка прокси
Вариант A. Глобальные настройки (UI)
- Settings → Proxy (в аккаунте Apify).
- Добавьте собственный прокси-URL:
- HTTP/HTTPS:
http://username:[email protected]:2333
- SOCKS5:
socks5://username:[email protected]:2333
- HTTP/HTTPS:
- Сохраните. Теперь акторы по умолчанию смогут использовать этот прокси (в зависимости от конфигурации конкретного раннера/краулера).
Вариант B. В коде актора/скрипта
Puppeteer
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch({
args: ['--proxy-server=http://p2.mangoproxy.com:2333'],
});
const page = await browser.newPage();
// Если нужна авторизация:
await page.authenticate({ username: 'USER', password: 'PASS' });
await page.goto('https://api.ipify.org/?format=text');
console.log(await page.content());
Playwright
import { chromium } from 'playwright';
const browser = await chromium.launch({
proxy: { server: 'http://p2.mangoproxy.com:2333', username: 'USER', password: 'PASS' },
});
const page = await browser.newPage();
await page.goto('https://api.ipify.org/?format=text');
const ip = await page.textContent('body');
console.log(ip);
Cheerio/HTTP-клиенты
import fetch from 'node-fetch';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent('http://USER:[email protected]:2333');
const res = await fetch('https://api.ipify.org', { agent });
const ip = await res.text();
console.log(ip);
Apify SDK (ProxyConfiguration с кастомными URL)
import { ProxyConfiguration, PlaywrightCrawler } from 'crawlee';
const proxyConfiguration = new ProxyConfiguration({
proxyUrls: ['http://USER:[email protected]:2333'],
});
const crawler = new PlaywrightCrawler({
proxyConfiguration,
requestHandler: async ({ page, request }) => { /* ... */ },
});
await crawler.run(['https://example.com']);
Практические советы
- Per-request ротация: генерируйте новый прокси-URL перед запуском запроса/страницы (если используете динамические прокси Mango).
- Таймауты и ретраи: для тяжёлых сайтов увеличьте
navigationTimeout
, используйте retry и экспоненциальный backoff. - Headless-антидетект: при работе с кабинетом/аккаунтами рассмотрите интеграцию с антидетект-браузерами (см. раздел «Браузеры»), прокси передавайте через аргументы запуска/профиль.
Проверка
- Делайте контрольный запрос на
https://api.ipify.org
перед основной логикой; логируйте IP. - Для Playwright/Puppeteer выводите IP в консоль, для Crawler — в лог каждого запроса.