Ваш процент решения CAPTCHA за одну ночь упал с 95% до 60%. Прежде чем обращаться в службу поддержки, в этом руководстве проводится структурированная диагностика, чтобы определить основную причину — будь то ваш код, прокси, целевой сайт или служба CaptchaAI.
Дерево диагностических решений
Solve rate dropped
├── Is the API returning errors? → Check error codes
│ ├── ERROR_WRONG_USER_KEY → API key issue
│ ├── ERROR_ZERO_BALANCE → Balance depleted
│ ├── ERROR_NO_SLOT_AVAILABLE → Rate limiting
│ └── ERROR_CAPTCHA_UNSOLVABLE → CAPTCHA changed
├── Are tokens returned but rejected by the target site?
│ ├── Token expired before submission → Speed up injection
│ ├── Sitekey changed → Re-extract from page
│ └── Domain mismatch → Check pageurl parameter
├── Are proxies failing?
│ ├── Proxy banned by target → Rotate proxies
│ └── Proxy timeout → Check proxy health
└── Did the target site change?
├── New CAPTCHA type → Update method parameter
├── JavaScript changes → Re-analyze page
└── Rate limiting by site → Reduce frequency
Шаг 1. Проверьте коды ошибок CaptchaAI
Запустите скрипт быстрой диагностики:
# diagnose_solve_rate.py
import os
import requests
from collections import Counter
API_KEY = os.environ.get("CAPTCHAAI_KEY", "YOUR_API_KEY")
def check_balance():
"""Verify API key and balance."""
resp = requests.get("https://ocr.captchaai.com/res.php", params={
"key": API_KEY, "action": "getbalance", "json": "1",
})
result = resp.json()
print(f"Balance: {result}")
return result
def test_solve(sitekey, pageurl, runs=5):
"""Run test solves and collect error statistics."""
errors = Counter()
successes = 0
for i in range(runs):
# Submit
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": API_KEY,
"method": "userrecaptcha",
"googlekey": sitekey,
"pageurl": pageurl,
"json": "1",
})
result = resp.json()
if result.get("status") != 1:
errors[result.get("request", "UNKNOWN")] += 1
print(f" Run {i+1}: Submit error: {result.get('request')}")
continue
task_id = result["request"]
import time
time.sleep(15)
# Poll
for _ in range(25):
poll = requests.get("https://ocr.captchaai.com/res.php", params={
"key": API_KEY, "action": "get",
"id": task_id, "json": "1",
})
poll_result = poll.json()
if poll_result.get("status") == 1:
successes += 1
print(f" Run {i+1}: Solved")
break
if poll_result.get("request") != "CAPCHA_NOT_READY":
errors[poll_result.get("request", "UNKNOWN")] += 1
print(f" Run {i+1}: Error: {poll_result.get('request')}")
break
time.sleep(5)
else:
errors["TIMEOUT"] += 1
print(f" Run {i+1}: Timeout")
print(f"\nResults: {successes}/{runs} solved")
if errors:
print(f"Errors: {dict(errors)}")
# Run diagnostics
print("=== Balance Check ===")
check_balance()
print("\n=== Test Solves ===")
test_solve("YOUR_SITEKEY", "https://your-staging.example.com", runs=5)
Шаг 2. Проверьте параметры целевого сайта
Наиболее распространенной причиной снижения скорости решения является изменение ключа сайта или структуры страницы.
Проверьте, изменился ли ключ сайта
Посетите целевую страницу, откройте DevTools (F12) и выполните поиск:
- reCAPTCHA: вызов
data-sitekeyилиgrecaptcha.render - Cloudflare Turnstile:
data-sitekeyв виджете Cloudflare Turnstile - GeeTest: параметр
gtпри инициализации GeeTest.
Сравните с sitekey в вашем коде. Один измененный символ приводит к 100% сбою.
Проверьте, изменился ли тип CAPTCHA
Некоторые сайты мигрируют между поставщиками CAPTCHA:
- reCAPTCHA v2 → reCAPTCHA v3 (невидимый)
- reCAPTCHA → Cloudflare Turnstile
- Изображение CAPTCHA → reCAPTCHA Enterprise
Если тип изменился, обновите параметр method соответствующим образом.
Шаг 3. Оценка работоспособности прокси
Качество прокси напрямую влияет на скорость решения, особенно для CAPTCHA на основе токенов, где CaptchaAI использует ваш прокси.
| Проблема с прокси | Симптом | Исправить |
|---|---|---|
| Прокси заблокирован целью | Токен решен, но отклонен | Переход на новые авторизованный сетевой выход |
| Ошибки возврата прокси | ERROR_PROXY_NOT_FOUND |
Убедитесь, что прокси-сервер активен и доступен. |
| Обнаружен прокси-сервер центра обработки данных | Более низкие показатели решения | Перейти на авторизованный сетевой выход |
| Несоответствие географического местоположения прокси | Непоследовательные результаты | Сопоставить страну прокси с целевым сайтом |
Сначала протестируйте без прокси-сервера (если тип CAPTCHA поддерживает решение без прокси-сервера), чтобы определить, является ли проблема прокси-сервером.
Шаг 4. Проверьте время токена
Токены CAPTCHA имеют ограниченный срок действия:
| Тип капчи | Срок действия токена |
|---|---|
| reCAPTCHA v2 | ~120 секунд |
| reCAPTCHA v3 | ~120 секунд |
| Cloudflare Turnstile | ~300 секунд |
| GeeTest v3 | ~60 секунд |
Если ваш конвейер проходит слишком много времени между получением токена и его внедрением в форму, срок действия токена истекает, и сайт отклоняет его.
Исправление: Измерьте время между getTaskResult и отправкой формы. Если > 60 секунд, оптимизируйте конвейер.
Шаг 5. Анализ распределения ошибок
Отсортируйте ошибки по частоте, чтобы найти основную причину:
| Ошибка | Значение | Действие |
|---|---|---|
ERROR_CAPTCHA_UNSOLVABLE |
CAPTCHA слишком сложна или изменена. | Сообщите CaptchaAI; проверьте, правильный ли sitekey |
ERROR_WRONG_CAPTCHA_ID |
Опрос неверного идентификатора задачи | Исправьте отслеживание идентификатора задачи в вашем коде |
ERROR_ZERO_BALANCE |
Закончились кредиты | Пополнить баланс |
ERROR_NO_SLOT_AVAILABLE |
Скорость ограничена | Уменьшите параллелизм или добавьте задержку |
CAPCHA_NOT_READY (таймаут) |
Решение занимает слишком много времени | Увеличить таймаут опроса; проверьте, действителен ли ключ сайта |
Шаг 6: Сравните с базовым уровнем
Если вы ранее проводили тесты, сравните текущие показатели с базовыми показателями:
| Метрика | Базовый уровень | Текущий | Дельта | Беспокойство? |
|---|---|---|---|---|
| Скорость решения | 95% | ? | Падение > 5% = изучить | |
| Среднее время решения | 15 секунд | ? | > 50% увеличение = исследовать | |
| Частота ошибок | 2% | ? | > 5% = провести расследование | |
| Скорость принятия токена | 98% | ? | Падение > 3% = сайт изменен |
Когда обращаться в службу поддержки
Обратитесь в службу поддержки CaptchaAI, если:
- Все этапы диагностики пройдены, но скорость решения остается низкой
- Ставка
ERROR_CAPTCHA_UNSOLVABLEпревышает 20% на ранее работающих ключах сайта - Баланс показывает правильно, но решения по-прежнему не работают
- Проблема сохраняется более 2 часов.
Включите в свой отчет:
- Тип CAPTCHA и ключ сайта
- URL-адрес целевого сайта
- Распределение ошибок (из диагностического сценария)
- Когда проблема началась
- Любые изменения, внесенные вами в код
Краткое руководство по устранению неполадок
| Сценарий | Наиболее вероятная причина | Первое действие |
Следующие шаги
- CaptchaAI Quickstart: ваше первое решение CAPTCHA за 5 минут
- Как решить reCAPTCHA v2 через API: пошаговое руководство
- Как решить Cloudflare Turnstile через API
- Как решить GeeTest v3 с помощью API