المقارنات

لماذا يتحول المطورون من Anti-Captcha إلى CaptchaAI

كانت Anti-Captcha من أوائل المشاركين في سوق حل CAPTCHA. وهو يوفر واجهة برمجة تطبيقات JSON مخصصة وتغطية واسعة من نوع CAPTCHA. لكن المطورين يواجهون قيودًا عندما تتبنى المواقع أساليب حماية أحدث - حزمة Cloudflare الكاملة، وBLS CAPTCHA، وسير عمل reCAPTCHA v3 ذات النتائج الحرجة.

هذا هو سبب انتقال الفرق إلى CaptchaAI.


ملاحظة: تستند الأرقام الواردة في هذه المقالة إلى اختبارات داخلية في ظروف محددة. قد تختلف النتائج حسب نوع CAPTCHA والموقع وبيئة التشغيل. يُنصح بإجراء قياسات مستقلة في بيئتك قبل الاعتماد على هذه الأرقام.

نقاط الألم الأساسية

1. تغطية Cloudflare Challenge

تدعم ميزة Anti-Captcha الرموز المميزة لـ Turnstile ولكنها لا تتعامل مع صفحات Cloudflare Challenge الكاملة أو تحديات JS:

نوع كلاود فلير Anti-Captcha CaptchaAI
Turnstile (مُدار) ✅ 100%
Turnstile (غير مرئي) جزئي
Cloudflare Challenge
تحدي JavaScript

تستخدم العديد من أهداف الكشط الآن صفحات Cloudflare Challenge (وليس فقط عناصر واجهة المستخدم Turnstile). يتم حظر مستخدمي Anti-Captcha؛ مستخدمو CaptchaAI لا يفعلون ذلك.

2. اختلافات نهج API

يستخدم Anti-Captcha واجهة برمجة تطبيقات مخصصة تعتمد على مهام 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,
})

لا يوجد لدى Anti-Captcha طريقة BLS. يجب على الفرق التي تحتاج إلى الوصول إلى البوابة الحكومية التبديل.

4. جودة نقاط reCAPTCHA v3

مزود متوسط النتيجة v3 التحكم في النتيجة
Anti-Captcha 0.3-0.5 محدودة

يؤدي انخفاض درجات الإصدار 3 إلى اكتشاف الروبوت. يُنتج نهج Anti-Captcha بمساعدة الإنسان درجات متغيرة. يولد محرك الذكاء الاصطناعي الخاص بـ CaptchaAI درجات عالية باستمرار.

5. دقة اختبار GeeTest

نسخة جي تيست Anti-Captcha CaptchaAI
GeeTest v3 85-90% 100%
GeeTest v4 80-85% 95%+

مقارنة الميزات

ميزة Anti-Captcha CaptchaAI
reCAPTCHA v2
reCAPTCHA v3 ✅ (درجات منخفضة) ✅ التحكم في النتيجة
reCAPTCHA Enterprise
اختبار reCAPTCHA غير مرئي
Turnstile ✅ 100%
Cloudflare Challenge
GeeTest v3 ✅ 100%
مكتب إحصاءات العمل ✅ 100%
Image/OCR ✅ أكثر من 27,500 نوع
تنسيق واجهة برمجة التطبيقات JSON مخصص 2متوافق مع كلمة التحقق
دعم الوكيل
رد الاتصال

مقارنة السرعة

نوع التحقق Anti-Captcha CaptchaAI
reCAPTCHA v2 15-45 ثانية 10-20 ثانية
reCAPTCHA v3 10-30 ثانية 5-15 ثانية
صورة التحقق 5-15 ثانية 2-5ث
Turnstile 10-30 ثانية 3-10 ثانية
GeeTest v3 15-40 ثانية 5-15 ثانية

مسار الهجرة

تختلف تنسيقات واجهة برمجة التطبيقات، لذا يتطلب الترحيل تحديث معالجة request/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 to /res.php مع action=get
لم يتم العثور على نوع المهمة تختلف أسماء مهام مكافحة Captcha استخدم أسماء أساليب CaptchaAI: userrecaptcha، turnstile، bls

الأسئلة الشائعة

هل الترحيل صعب نظرًا لاختلاف تنسيقات واجهة برمجة التطبيقات؟

تنسيق API مختلف ولكنه واضح ومباشر. المنطق الأساسي (إرسال استطلاع → للحصول على النتيجة →) هو نفسه. تستغرق معظم عمليات الترحيل ما بين 15 إلى 30 دقيقة من تغييرات التعليمات البرمجية.

هل يمكنني استخدام مكتبات أغلفة Anti-Captcha مع CaptchaAI؟

ليس بشكل مباشر — تختلف تنسيقات واجهة برمجة التطبيقات (API). ومع ذلك، CaptchaAI متوافق مع أي مكتبة مجمعة 2Captcha، والتي تكون متاحة على نطاق أوسع.

هل يدعم CaptchaAI إعادة توجيه وكيل Anti-Captcha؟

نعم. يدعم CaptchaAI معلمات الوكيل (proxy، proxytype) بتنسيق الطلب القياسي.


أدلة ذات صلة

  • البدء السريع مع CaptchaAI: حلّ أول كابتشا في 5 دقائق
  • كيفية حلّ reCAPTCHA v2 عبر الـ API: دليل خطوة بخطوة

التعليقات غير مفعّلة لهذا المقال.