البدء السريع

البدء السريع مع CaptchaAI: حلّ أول كابتشا في 5 دقائق

هذا الدليل يهدف إلى شيء واحد: نقلك من الصفر إلى أول استدعاء ناجح للـ API واستلام التوكن في أسرع وقت ممكن. لا نظرية ولا استطرادات — فقط الخطوات الدنيا وكود يعمل فعلاً.

كل أنواع الكابتشا التي يدعمها CaptchaAI تتبع نفس النمط المكوّن من أربع خطوات:

  1. الإرسال — أرسل بيانات الكابتشا إلى in.php
  2. حفظ المعرّف — احفظ معرّف المهمة من الردّ
  3. الاستفسار — اسأل res.php كل 5 ثوانٍ حتى تصل النتيجة
  4. استخدام التوكن — احقنه في الصفحة أو الطلب المستهدف

الخطوة 0: احصل على مفتاح API

  1. سجّل في captchaai.com
  2. افتح لوحة التحكم
  3. انسخ مفتاح الـ API المكوّن من 32 حرفاً

يحتاج حسابك إلى Threads فعّالة لإرسال المهام. إن كنت تجرّب الخدمة فقط، تواصل مع الدعم لتجربة مجانية.


الخطوة 1: أرسل كابتشا

المثال يحلّ Cloudflare Turnstile — أحد أكثر الأنواع شيوعاً. تحتاج قيمتين من الصفحة المستهدفة:

  • sitekey — المفتاح العام لويدجت Turnstile (في خاصية data-sitekey أو في إعدادات سكربت Turnstile، يبدأ بـ 0x)
  • pageurl — العنوان الكامل للصفحة التي يتحمّل عليها الويدجت

cURL

curl -X POST "https://ocr.captchaai.com/in.php" \
  -d "key=YOUR_API_KEY" \
  -d "method=turnstile" \
  -d "sitekey=0x4AAAAAAAC3DHQFLr1GavNl" \
  -d "pageurl=https://example.com/login" \
  -d "json=1"

Python

import requests

response = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "turnstile",
    "sitekey": "0x4AAAAAAAC3DHQFLr1GavNl",
    "pageurl": "https://example.com/login",
    "json": 1,
})
print(response.json())

Node.js

const response = await fetch("https://ocr.captchaai.com/in.php", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    key: "YOUR_API_KEY",
    method: "turnstile",
    sitekey: "0x4AAAAAAAC3DHQFLr1GavNl",
    pageurl: "https://example.com/login",
    json: "1",
  }),
});
console.log(await response.json());

PHP

<?php
$response = file_get_contents("https://ocr.captchaai.com/in.php?" . http_build_query([
    "key"       => "YOUR_API_KEY",
    "method"    => "turnstile",
    "sitekey"   => "0x4AAAAAAAC3DHQFLr1GavNl",
    "pageurl"   => "https://example.com/login",
    "json"      => 1,
]));
echo $response;

الخطوة 2: احفظ معرّف المهمة

ردّ ناجح:

{
  "status": 1,
  "request": "71823469"
}

حقل request هو معرّف مهمتك — ستحتاجه لجلب النتيجة.

إذا كانت قيمة status تساوي 0 فقد حدث خطأ، وستجد رمز الخطأ في request:

الخطأ المعنى الحلّ
ERROR_WRONG_USER_KEY تنسيق المفتاح خاطئ تأكّد من 32 حرفاً
ERROR_KEY_DOES_NOT_EXIST المفتاح غير موجود راجع لوحة التحكم
ERROR_ZERO_BALANCE لا توجد threads متاحة اشحن أو انتظر تحرير threads
ERROR_PAGEURL بارامتر pageurl مفقود أضف عنوان الصفحة كاملاً
ERROR_WRONG_GOOGLEKEY sitekey فارغ أو خاطئ استخرج sitekey من جديد (Turnstile يبدأ بـ 0x)

الخطوة 3: استفسر عن النتيجة

انتظر 15 ثانية، ثم استفسر كل 5 ثوانٍ حتى تصل الإجابة.

Python

import time

time.sleep(15)

while True:
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": "YOUR_API_KEY",
        "action": "get",
        "id": "71823469",
        "json": 1,
    }).json()

    if result.get("request") == "CAPCHA_NOT_READY":
        time.sleep(5)
        continue

    if result.get("status") == 1:
        token = result["request"]
        print(f"Solved! Token: {token[:60]}...")
        break

    raise RuntimeError(result)

Node.js

await new Promise((r) => setTimeout(r, 15000));

while (true) {
  const r = await fetch(
    `https://ocr.captchaai.com/res.php?key=YOUR_API_KEY&action=get&id=71823469&json=1`,
  );
  const data = await r.json();
  if (data.request === "CAPCHA_NOT_READY") {
    await new Promise((r) => setTimeout(r, 5000));
    continue;
  }
  if (data.status === 1) {
    console.log("Solved:", data.request.slice(0, 60));
    break;
  }
  throw new Error(JSON.stringify(data));
}

الخطوة 4: استخدم التوكن

طريقة الحقن تختلف بحسب نوع الكابتشا:

  • Turnstile / reCAPTCHA: اكتب في cf-turnstile-response أو g-recaptcha-response، أو نادِ على دالة الـ callback.
  • OCR للصور: ضع النص المتعرَّف عليه في حقل الإجابة.
  • GeeTest / FunCaptcha: ركّب الحقول المتعدّدة وفق ما يطلبه الموقع.

أبسط حقن داخل المتصفّح:

document.querySelector('[name="cf-turnstile-response"]').value = token;
document.querySelector("form").submit();

أخطاء شائعة في البداية

  • مسافة عند نسخ المفتاح — احذفها.
  • بروتوكول مفقود في pageurl — يجب أن يبدأ بـ https://.
  • استفسار مبكر جداً — انتظر 15 ثانية.
  • استفسار متقارب جداً — كل 5 ثوانٍ يكفي.
  • انتهت الـ threads — راجع أكواد أخطاء الـ API وخطّتك.

الخطوات التالية

أدلة ذات صلة

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