Comparisons

Почему разработчики переходят с Anti-Captcha на CaptchaAI

Anti-Captcha был одним из первых участников рынка решения CAPTCHA. Он предлагает собственный JSON API и широкий охват типов CAPTCHA. Но разработчики сталкиваются с ограничениями, поскольку сайты внедряют новые методы защиты — полный стек Cloudflare, BLS CAPTCHA и критически важные рабочие процессы reCAPTCHA v3.

Вот почему команды переходят на CaptchaAI.


Основные болевые точки

1. Покрытие страница Cloudflare-защиты в staging

Anti-Captcha поддерживает токены Cloudflare Turnstile, но не обрабатывает полные страницы страница Cloudflare-защиты в staging или задачи JS:

Тип облачной вспышки Anti-Captcha CaptchaAI
Cloudflare Turnstile (управляемый) ✅ 100%
Cloudflare Turnstile (невидимый) Частичный
страница Cloudflare-защиты в staging
JS-вызов

Многие цели парсинга теперь используют страницы страница Cloudflare-защиты в staging (а не только виджеты Turnstile). Пользователи Anti-Captcha блокируются; Пользователи CaptchaAI этого не делают.

2. Различия в подходах API

Anti-Captcha использует собственный API на основе задач JSON. CaptchaAI использует широко распространенный формат, совместимый с 2Captcha:

# Anti-Captcha — custom JSON format
import requests

resp = requests.post("https://api.anti-captcha.com/createTask", json={
    "clientKey": "ANTICAPTCHA_KEY",
    "task": {
        "type": "RecaptchaV2TaskProxyless",
        "websiteURL": "https://example.com",
        "websiteKey": "SITE_KEY",
    }
})
task_id = resp.json()["taskId"]

# Poll with different endpoint and format
result = requests.post("https://api.anti-captcha.com/getTaskResult", json={
    "clientKey": "ANTICAPTCHA_KEY",
    "taskId": task_id,
})
# CaptchaAI — standard 2Captcha-compatible format
import requests

resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "SITE_KEY",
    "pageurl": "https://example.com",
    "json": 1,
})
task_id = resp.json()["request"]

# Standard polling
result = requests.get("https://ocr.captchaai.com/res.php", params={
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": task_id,
    "json": 1,
})

Формат 2Captcha поддерживается сотнями инструментов, библиотек и фреймворков. Переход на CaptchaAI требует минимальных изменений кода для команд, уже использующих оболочки, совместимые с 2Captcha.

3. Поддержка BLS CAPTCHA

Автоматизация правительственных порталов, системы назначения виз и сбор данных о труде требуют решения BLS CAPTCHA:

# CaptchaAI — BLS at 100% accuracy
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "bls",
    "pageurl": "https://bls-portal.example.com",
    "sitekey": "BLS_SITE_KEY",
    "json": 1,
})

В AntiCaptcha нет метода BLS. Команды, нуждающиеся в доступе к правительственному порталу, должны переключиться.

4. Оценка качества reCAPTCHA v3

Поставщик Средний балл v3 Контроль очков
Anti-Captcha 0,3-0,5 Ограниченный

Низкие оценки v3 вызывают обнаружение ботов. Подход Anti-Captcha с участием человека дает разные оценки. Механизм искусственного интеллекта CaptchaAI стабильно набирает высокие баллы.

5. Точность GeeTest

Версия GeeTest Anti-Captcha CaptchaAI
GeeTest v3 85-90% 100%
GeeTest v4 80-85% ориентировочное значение

Сравнение функций

Особенность Anti-Captcha CaptchaAI
reCAPTCHA v2
reCAPTCHA v3 ✅ (низкие баллы) ✅ Контроль очков
reCAPTCHA Предприятие
Невидимая reCAPTCHA
Cloudflare Turnstile ✅ 100%
страница Cloudflare-защиты в staging
GeeTest v3 ✅ 100%
БЛС ✅ 100%
Изображение/OCR ✅ 27 500+ типов
Формат API Пользовательский JSON 2Совместимость с Captcha
Поддержка прокси
Перезвонить

Сравнение скорости

Тип капчи Anti-Captcha CaptchaAI
reCAPTCHA v2 15-45 лет 10–20 секунд
reCAPTCHA v3 10–30 секунд 5–15 с.
Капча изображения 5–15 с. 2–5 с.
Cloudflare Turnstile 10–30 секунд 3-10 с
GeeTest v3 15-40 с 5–15 с.

Путь миграции

Форматы API различаются, поэтому миграция требует обновления обработки вашего запроса/response. Вот оболочка, которая поддерживает оба варианта во время перехода:

import requests
import time

class CaptchaSolver:
    """Unified solver — supports Anti-Captcha and CaptchaAI."""

    def __init__(self, provider="captchaai", api_key="YOUR_API_KEY"):
        self.provider = provider
        self.api_key = api_key

    def solve_recaptcha_v2(self, sitekey, pageurl):
        if self.provider == "captchaai":
            return self._solve_captchaai("userrecaptcha", sitekey, pageurl)
        else:
            return self._solve_anticaptcha(sitekey, pageurl)

    def _solve_captchaai(self, method, sitekey, pageurl):
        resp = requests.post("https://ocr.captchaai.com/in.php", data={
            "key": self.api_key,
            "method": method,
            "googlekey": sitekey,
            "pageurl": pageurl,
            "json": 1,
        })
        task_id = resp.json()["request"]

        for _ in range(60):
            time.sleep(5)
            result = requests.get("https://ocr.captchaai.com/res.php", params={
                "key": self.api_key, "action": "get",
                "id": task_id, "json": 1,
            })
            data = result.json()
            if data["request"] != "CAPCHA_NOT_READY":
                return data["request"]

        raise TimeoutError("Solve timeout")

    def _solve_anticaptcha(self, sitekey, pageurl):
        resp = requests.post("https://api.anti-captcha.com/createTask", json={
            "clientKey": self.api_key,
            "task": {
                "type": "RecaptchaV2TaskProxyless",
                "websiteURL": pageurl,
                "websiteKey": sitekey,
            },
        })
        task_id = resp.json()["taskId"]

        for _ in range(60):
            time.sleep(5)
            result = requests.post(
                "https://api.anti-captcha.com/getTaskResult",
                json={"clientKey": self.api_key, "taskId": task_id},
            )
            data = result.json()
            if data["status"] == "ready":
                return data["solution"]["gRecaptchaResponse"]

        raise TimeoutError("Solve timeout")

Используйте provider="captchaai" для новых проектов. Перенесите существующие проекты, изменив параметр конструктора.


Поиск неисправностей

Проблема Причина Исправить
Другой формат API Anti-Captcha использует задачи JSON Формат запроса обновления согласно приведенным выше примерам
Отсутствует поле method. Anti-Captcha использует type в задаче Переключитесь на method=userrecaptcha для CaptchaAI
Неверный формат опроса Другая конечная точка результата Используйте GET для /res.php с action=get
Тип задачи не найден Названия задач Антикапчи различаются Используйте имена методов CaptchaAI: userrecaptcha, turnstile, bls.

Часто задаваемые вопросы

Трудна ли миграция, поскольку форматы API различаются?

Формат API другой, но простой. Основная логика (отправить → опрос → получить результат) та же самая. В большинстве случаев миграция изменений кода занимает 15–30 минут.

Могу ли я использовать библиотеки-оболочки Anti-Captcha с CaptchaAI?

Не напрямую — форматы API различаются. Однако CaptchaAI совместим с любой библиотекой-оболочкой 2Captcha, которая более широко доступна.

Поддерживает ли CaptchaAI переадресацию прокси-сервера Anti-Captcha?

Да. CaptchaAI поддерживает параметры прокси (proxy, proxytype) в стандартном формате запроса.


Связанные руководства


Улучшите решение CAPTCHA —попробуйте CaptchaAI бесплатнос улучшенной поддержкой Cloudflare и BLS.

Комментарии для этой статьи отключены.