انخفض معدل حل اختبار 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-target-site.com", runs=5)
الخطوة 2: التحقق من معلمات الموقع المستهدف
السبب الأكثر شيوعًا لانخفاض معدل الحل هو تغيير مفتاح الموقع أو بنية الصفحة.
تحقق مما إذا كان مفتاح الموقع قد تغير
قم بزيارة الصفحة المستهدفة، وافتح DevTools (F12)، وابحث عن:
- reCAPTCHA: استدعاء
data-sitekeyأوgrecaptcha.render - Cloudflare Turnstile:
data-sitekeyفي أداة Turnstile - GeeTest: معلمة
gtفي تهيئة GeeTest
قارن مع مفتاح الموقع في التعليمات البرمجية الخاصة بك. حرف واحد تم تغييره يسبب الفشل بمعدل نجاح عالٍ.
تحقق مما إذا كان نوع CAPTCHA قد تغير
يتم ترحيل بعض المواقع بين موفري CAPTCHA:
- reCAPTCHA v2 → reCAPTCHA v3 (غير مرئي)
- ريكابتشا → Cloudflare Turnstile
- صورة CAPTCHA → reCAPTCHA المؤسسة
إذا تغير النوع، قم بتحديث معلمة 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؛ تحقق مما إذا كان مفتاح الموقع صحيحًا |
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_UNSOLVABLE20% على مفاتيح المواقع التي كانت تعمل سابقًا - يظهر الرصيد صحيحًا ولكن الحلول لا تزال تفشل
- استمرت المشكلة لأكثر من ساعتين
تضمين في تقريرك:
- نوع CAPTCHA ومفتاح الموقع
- عنوان URL للموقع المستهدف
- توزيع الأخطاء (من البرنامج النصي التشخيصي)
- عندما بدأت المشكلة
- أي تغييرات قمت بها على التعليمات البرمجية الخاصة بك
استكشاف أخطاء المرجع السريع وإصلاحها
| السيناريو | السبب الأكثر احتمالا | الإجراء الأول |
الخطوات التالية
- البدء السريع مع CaptchaAI: حلّ أول كابتشا في 5 دقائق
- كيفية حلّ reCAPTCHA v2 عبر الـ API: دليل خطوة بخطوة
- كيفية حل Cloudflare Turnstile باستخدام واجهة API
- كيفية حل GeeTest v3 باستخدام API