Прокси или без прокси при решении капчи: какой тип задачи нужен
Scarnox предлагает PopularCaptcha в двух вариантах: без прокси, когда Scarnox решает капчу через собственную сеть, и с прокси, когда вы передаете прокси, который использует ваш бот. Оба возвращают токен в одной и той же структуре ответа, и оба бесплатны, если решение не удалось. Единственное различие в запросе — прокси.
Вариант без прокси — правильная отправная точка для большинства сайтов. Отправляйте свой прокси, только если сайт привязывает токен к IP-адресу.
Два типа задач
| Тип задачи | Что отправлять |
|---|---|
PopularCaptchaTaskProxyless | sitekey и URL страницы |
PopularCaptchaTask (вариант с прокси) | sitekey, URL страницы и ваш proxy |
Оба — задачи PopularCaptcha. Остальная часть запроса, ответ и обработка токена одинаковы.
Начните с варианта без прокси
Решения без прокси выполняются в собственной сети Scarnox. Интеграция — самая простая из возможных, и для большинства сайтов токен работает независимо от того, с какого IP его потом отправят. Если не уверены, какой вариант нужен, начните отсюда:
{
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": "10000000-ffff-ffff-ffff-000000000001",
"site_url": "https://example.com/signup"
}
Отправляйте прокси, когда токен привязан к IP
Некоторые сайты проверяют, что IP, который решал капчу, совпадает с IP, который отправляет форму. Симптом очевиден: токены приходят без ошибок, но сайт каждый раз их отклоняет. Решение — решать капчу через тот же прокси, который ваш бот использует для остальной части сессии:
{
"captcha_type": "PopularCaptchaTask",
"site_key": "10000000-ffff-ffff-ffff-000000000001",
"site_url": "https://example.com/signup",
"proxy": "http://user:pass@203.0.113.10:8080"
}
Формат прокси: http://user:pass@host:port. Используйте один и тот же прокси для решения и для отправки и держите его закрепленным на всю сессию. Смена прокси между решением и отправкой возвращает несовпадение IP.
Как решить
Пройдите эти вопросы по порядку:
- Работает ли токен, если отправить его с другой машины? Если да, используйте вариант без прокси.
- Отклоняет ли сайт токены только тогда, когда отправляющий IP отличается от решающего? Если да, отправляйте прокси.
- Использует ли сайт cookie сессии или проверку устройства, привязанную к одному IP? Если да, отправляйте прокси и сохраняйте тот же IP на всю сессию.
Проверьте оба варианта на бесплатном пробном периоде, прежде чем выбрать. Создайте аккаунт и начните с бесплатного пробного баланса, карта не нужна, затем запустите один и тот же поток по одному разу для каждого типа.
Если ваш прокси нерабочий
Неудачное решение бесплатно. Если прокси не работает или заблокирован целевым сайтом, решение не удается, и с вас за него не берут плату. Проверьте прокси до запуска, убедитесь в его формате и в том, что цель не блокирует его диапазон адресов. Прокси, который работает для браузера, но не проходит решение, обычно имеет проблему с форматом.
Храните учетные данные прокси вне логов
Адрес прокси с паролем — секрет. Храните его в переменной окружения или в менеджере секретов. Не выводите в логи, не коммитьте и не вставляйте в отчеты об ошибках. Если логируете запрос на решение для отладки, сначала удалите поле proxy.
Выбор прокси для варианта с прокси
Решение работает с любым прокси, который вы отправите, но токен полезен, только если форму отправляет тот же IP. Используйте резидентский или статический адрес, которым вы управляете, на всю сессию, а не пул, который меняется при каждом запросе. Сайты, которые привязывают токены к IP, обычно также привязывают сессию, поэтому ротирующийся пул ломает поток дважды.
Как насчет скорости?
Оба варианта возвращают токен из одного блокирующего запроса, без цикла опроса. Таймаут одинаковый: около 185 секунд. Выбирайте вариант по вопросу об IP, а не по скорости.
Сессии и прокси на практике
Используйте один и тот же прокси от первого запроса сессии до последнего. Типичный поток загружает страницу регистрации, решает капчу и отправляет форму. Если загрузка страницы идет через один адрес, а решение через другой, сайт с привязкой к IP может отклонить токен, хотя все остальное выглядит правильно.
Храните одну настройку прокси в коде и передавайте ее каждому шагу, который обращается к сайту. Если другие части задачи ротируют прокси для парсинга, дайте потоку с капчей собственный закрепленный прокси. Смешивание двух подходов — одна из самых частых причин, по которой токен, работавший в тестах, падает в продакшене.
Задавайте поле proxy только для варианта, который его использует. Отправка прокси с типом задачи без прокси не улучшает решение, а затрудняет понимание того, какой режим использовался, при чтении логов.
Чтение логов для правильного ответа
Если не уверены, какой режим нужен сайту, запустите оба на одной и той же странице и сравните. Логируйте, был ли принят каждый токен, вместе с типом задачи и тем, отправлялся ли прокси. Сайт, который стабильно принимает токены без прокси, не нуждается в варианте с прокси. Сайт, который отклоняет их только в определенных запусках, указывает на проверку IP. Пусть решают логи, а не догадки.
Следующие шаги
- Как решить PopularCaptcha на Python
- Решение невидимых капч
- Повторы и обработка ошибок, которые выдерживают продакшен
- Бесплатный пробный период решателя капчи
Начните с бесплатного пробного баланса, карта не нужна: создайте аккаунт и попробуйте оба типа задач на одной странице.