المقارنات

GeeTest مقابل reCAPTCHA

الفرق العملي بين GeeTest وreCAPTCHA لا يظهر في شكل التحدي على الشاشة، بل في ما يطلبه كل منهما عند الحل برمجياً. يعتمد GeeTest على معلمات ديناميكية تتغير مع كل جلسة واستجابة مكوّنة من ثلاثة أجزاء، بينما يكتفي reCAPTCHA بمفتاح موقع ثابت ورمز واحد. إذا كنت تبني أداة أتمتة أو سير عمل لاختبار الجودة، فهذا الفارق تحديداً هو ما يحدد حجم العمل المطلوب منك في التكامل، لا مظهر اللغز أمام المستخدم.

كلا النظامين منتشر على نطاق واسع، لكن منطق الكشف مختلف: GeeTest يراقب طريقة تفاعلك، بينما يبني reCAPTCHA حكمه على السمعة والسلوك عبر الوقت. فهم هذا الاختلاف يوفّر عليك ساعات من التجربة والخطأ عند بناء التكامل.


كيف يكتشف كلٌّ من GeeTest وreCAPTCHA الروبوتات

آلية الكشف هي أول ما يجب فهمه، لأنها تحدد المعلمات التي ستتعامل معها لاحقاً.

GeeTest

  • يحلّل كيفية التفاعل: سرعة التمرير، ومنحنيات التسارع، والتصحيحات الدقيقة أثناء الحركة.
  • يرصد حركة الماوس الخطية المثالية باعتبارها مؤشراً على الأتمتة.
  • يتحقق من التوقيت: التفاعل السريع جداً أو المنتظم أكثر من اللازم يُعامل كسلوك آلي.
  • يفحص بيئة المتصفح بحثاً عن إشارات الأتمتة.

reCAPTCHA

  • يحلّل الأنماط السلوكية عبر الوقت (تسجيل مستمر في الإصدار الثالث).
  • يعتمد على ملفات ارتباط Google لتقدير سمعة المستخدم.
  • يقارن سمعة عنوان IP بقاعدة بيانات Google.
  • يضيف الإصدار الثاني تحدياً مرئياً كطبقة تحقق ثانوية.

باختصار: GeeTest يسأل «كيف تحرّكت؟»، بينما يسأل reCAPTCHA «من أنت وما تاريخك؟».


جدول مقارنة سريع: GeeTest مقابل reCAPTCHA

الميزة GeeTest v3 reCAPTCHA v2 reCAPTCHA v3
نوع التحدي ألغاز تفاعلية (تمرير/نقر/مطابقة) اختيار من شبكة صور لا شيء (غير مرئي)
التحليل السلوكي مسار الماوس ومنحنيات السرعة الماوس ولوحة المفاتيح وملفات الارتباط مراقبة سلوكية مستمرة
المعلمات المطلوبة gt، challenge، pageurl googlekey، pageurl googlekey، action، pageurl
تنسيق الاستجابة challenge، validate، seccode رمز واحد رمز واحد + نتيجة (score)
التركيز الجغرافي الصين وآسيا مع توسّع عالمي عالمي عالمي
الطبقة المجانية محدودة متاحة متاحة
ثبات المعلمات يتغير التحدي في كل جلسة مفتاح موقع ثابت مفتاح موقع ثابت

أيّهما أصعب في التكامل والحل؟

الأرقام التالية تستند إلى بيانات مرصودة وتقارير مستخدمين، وقد تختلف بحسب بيئة التشغيل والحجم والتوقيت.

الجانب GeeTest v3 reCAPTCHA v2 reCAPTCHA v3
استخراج المعلمات متوسط (جلب gt وchallenge) سهل (مفتاح موقع ثابت) سهل (مفتاح ثابت + action)
طريقة API method=geetest method=userrecaptcha method=userrecaptcha + version=v3
زمن الحل 15–30 ثانية 15–30 ثانية 5–10 ثوانٍ
تحليل الاستجابة مركّب (3 قيم) بسيط (رمز واحد) بسيط (رمز واحد)
إعادة استخدام التحدي لا (تحدٍّ لمرة واحدة) لا ينطبق (قائم على الرمز) لا ينطبق (قائم على الرمز)

الخلاصة العملية: reCAPTCHA أخفّ في التكامل لأن مفتاح الموقع ثابت والاستجابة رمز واحد. أما GeeTest فيتطلب خطوة إضافية لجلب المعلمات الطازجة قبل كل عملية حل، ثم تفكيك استجابة من ثلاثة حقول.


حل GeeTest وreCAPTCHA عبر CaptchaAI

يدعم CaptchaAI حل GeeTest v3 وreCAPTCHA بإصداريه الثاني والثالث ضمن الخطط نفسها القائمة على الـ threads. الفرق في الكود يعكس الفرق في التصميم: مسار GeeTest يبدأ بجلب المعلمات، ومسار reCAPTCHA يمرّر مفتاح الموقع مباشرة.

GeeTest v3

# Must fetch fresh challenge first
params = requests.get("https://example.com/api/captcha").json()

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY, "method": "geetest",
    "gt": params["gt"], "challenge": params["challenge"],
    "pageurl": URL, "json": 1
}).json()

# Solution has 3 parts
solution = poll_result(resp["request"])
# solution = {geetest_challenge, geetest_validate, geetest_seccode}

reCAPTCHA v2

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY, "method": "userrecaptcha",
    "googlekey": "6Le-wvkSAAAA...", "pageurl": URL, "json": 1
}).json()

# Solution is a single token
token = poll_result(resp["request"])

لاحظ أن استجابة GeeTest تعود بثلاث قيم (challenge وvalidate وseccode) يجب حقنها في حقول النموذج، بينما تعود reCAPTCHA برمز واحد تُدرجه في حقل مخفي واحد.


ما الذي يعنيه هذا لمشاريع الأتمتة؟

الاعتبار GeeTest reCAPTCHA
معلمات جديدة لكل عملية حل نعم (التحدي يُستخدم مرة واحدة) لا (مفتاح الموقع ثابت)
إدارة الجلسة الحفاظ على الجلسة بين جلب المعلمات والحل أبسط — الرمز مستقل بذاته
حقن الرمز في النموذج إرسال 3 حقول إدراج حقل مخفي واحد
السلوك الاحتياطي غالباً لا يوجد بديل يعود v3 غالباً إلى v2
معالجة الأخطاء التعامل مع التحديات منتهية الصلاحية التعامل مع انتهاء صلاحية الرمز

سيناريو عملي من سوق المنطقة

تخيّل فريقاً في الخليج يبني أداة مراقبة أسعار معتمدة لمقارنة عروض الموردين. جزء من المصادر منصات جملة صينية تعتمد GeeTest، وجزء آخر مواقع حجز وخدمات إقليمية وعالمية تستخدم reCAPTCHA. هنا لا يواجه الفريق نوعاً واحداً من التحقق بل نوعين بمنطقين مختلفين.

بدل إدارة تكاملين منفصلين، يمرّر الفريق كلا النوعين إلى CaptchaAI عبر واجهة API واحدة وخطة واحدة قائمة على الـ threads تبدأ من BASIC ($15 شهرياً، 5 threads مع عدد حلول غير محدود لكل thread). بهذا تبقى منطق الأتمتة موحّداً، ويختلف الكود فقط في خطوة جلب معلمات GeeTest. هذا النوع من التوحيد هو ما يجعل التعامل مع بيئة تجمع عدة أنظمة تحقق قابلاً للإدارة عملياً.


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

أيهما أنسب لمشروع الأتمتة الذي أعمل عليه؟

القرار يتبع الموقع المستهدف لا تفضيلاً مسبقاً. إذا كان الموقع يستخدم reCAPTCHA فالتكامل أبسط: مفتاح موقع ثابت ورمز واحد. أما إذا كان يعتمد GeeTest فاحسب وقتاً إضافياً لجلب المعلمات الديناميكية ومعالجة استجابة من ثلاثة أجزاء.

هل GeeTest v4 متاح عبر CaptchaAI بعد؟

حالياً يدعم CaptchaAI الإصدار GeeTest v3 وحلول reCAPTCHA v2 وv3 بشكل كامل. أما GeeTest v4 فما زال قيد الإطلاق (قريباً) وغير متاح بعد، لذا خطّط على أساس v3 عند التعامل مع مواقع GeeTest الحالية.

ما المعلمات التي أحتاجها لحل كل نوع عبر API؟

لـ GeeTest تحتاج إلى gt وchallenge وpageurl، ويجب جلبها من الصفحة قبل كل عملية حل لأن التحدي يُستخدم مرة واحدة. أما reCAPTCHA فيكفيه googlekey وpageurl، مع إضافة action في الإصدار الثالث.

هل يختلف زمن الحل بشكل ملموس بين النوعين؟

نعم. reCAPTCHA v3 هو الأسرع عادة (5–10 ثوانٍ) لأنه غير مرئي وقائم على التسجيل، بينما يستغرق GeeTest v3 وreCAPTCHA v2 نحو 15–30 ثانية لأنهما يتطلبان معالجة تحدٍّ فعلي على الصفحة.


أدلة ذات صلة

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