كانت 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: دليل خطوة بخطوة
- قم بترقية حل اختبار CAPTCHA الخاص بك -جرب CaptchaAI مجانًامع دعم أفضل لـ Cloudflare وBLS.*