المرجع

مرجع طرق حقن رمز CAPTCHA

يمنحك حل اختبار CAPTCHA باستخدام CaptchaAI رمزًا مميزًا أو ملف تعريف ارتباط. تعتمد الخطوة التالية - إدخال تلك النتيجة في الصفحة حتى يعمل إرسال النموذج - على نوع اختبار CAPTCHA وإطار التشغيل الآلي الخاص بك. يغطي هذا المرجع كل طريقة للحقن.


الحقن بنوع CAPTCHA

نوع التحقق ما تحصل عليه أين تحقن الطريقة
reCAPTCHA v2 سلسلة رمزية منطقة النص g-recaptcha-response الحقل المخفي
reCAPTCHA v2 غير مرئية سلسلة رمزية g-recaptcha-response منطقة النص + رد الاتصال الحقل المخفي + JS
reCAPTCHA v3 سلسلة رمزية g-recaptcha-response منطقة النص + رد الاتصال الحقل المخفي + JS
reCAPTCHA Enterprise سلسلة رمزية منطقة النص g-recaptcha-response الحقل المخفي
Cloudflare Turnstile سلسلة رمزية حقل cf-turnstile-response الحقل المخفي
Cloudflare Challenge ملف تعريف الارتباط cf_clearance ملفات تعريف الارتباط للجلسة جرة كوكي

reCAPTCHA v2 — الحقن القياسي

يقوم reCAPTCHA v2 بإنشاء textarea مخفي باسم g-recaptcha-response. اضبط قيمته على الرمز المميز الذي تم حله.

JavaScript (وحدة تحكم المتصفح / السيلينيوم Execute_script)

// Set the token
document.getElementById("g-recaptcha-response").value = "SOLVED_TOKEN";

// Make it visible if needed (some sites validate display)
document.getElementById("g-recaptcha-response").style.display = "block";

السيلينيوم (Python)

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://example.com/login")

# After solving with CaptchaAI
token = "SOLVED_TOKEN"

# Inject the token
driver.execute_script(f'''
    document.getElementById("g-recaptcha-response").value = "{token}";
''')

# Submit the form
driver.find_element("css selector", "form").submit()

Puppeteer (Node.js)

const puppeteer = require("puppeteer");

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto("https://example.com/login");

const token = "SOLVED_TOKEN";

await page.evaluate((t) => {
  document.getElementById("g-recaptcha-response").value = t;
}, token);

await page.click('button[type="submit"]');

طلب HTTP (بدون متصفح)

import requests

token = "SOLVED_TOKEN"

resp = requests.post("https://example.com/login", data={
    "username": "user",
    "password": "pass",
    "g-recaptcha-response": token
})

reCAPTCHA v2 غير مرئي / الإصدار 3 - حقن رد الاتصال

غالبًا ما يستخدم reCAPTCHA وv3 غير المرئيين رد اتصال JavaScript. لا يكفي تعيين منطقة النص — يجب عليك تشغيل وظيفة رد الاتصال.

العثور على رد الاتصال

// Check for data-callback attribute
document.querySelector("[data-callback]")?.getAttribute("data-callback");

// Or search for the callback in reCAPTCHA's internal state
___grecaptcha_cfg.clients[0]?.aa?.l?.callback;

الحقن مع رد الاتصال

// Set the token
document.getElementById("g-recaptcha-response").value = "SOLVED_TOKEN";

// Trigger the callback
// Method 1: If callback name is known
onSubmit("SOLVED_TOKEN");

// Method 2: Find and call the callback automatically
const callback = document.querySelector("[data-callback]")?.getAttribute("data-callback");
if (callback && window[callback]) {
    window[callback]("SOLVED_TOKEN");
}

السيلينيوم (Python) مع رد الاتصال

token = "SOLVED_TOKEN"

driver.execute_script(f'''
    document.getElementById("g-recaptcha-response").value = "{token}";

    // Try to find and trigger callback
    var callback = document.querySelector("[data-callback]");
    if (callback) {{
        var fn = callback.getAttribute("data-callback");
        if (window[fn]) window[fn]("{token}");
    }}
''')

reCAPTCHA — أدوات متعددة في صفحة واحدة

تحتوي بعض الصفحات على أدوات reCAPTCHA متعددة. لكل منها منطقة نصية g-recaptcha-response خاصة بها.

// Find all response textareas
const textareas = document.querySelectorAll("[id^='g-recaptcha-response']");
console.log(`Found ${textareas.length} reCAPTCHA widgets`);

// Set the token on the correct widget (usually index 0)
textareas[0].value = "SOLVED_TOKEN";

أو ابحث عن نموذج الوالدين:

// Find the textarea inside a specific form
const form = document.querySelector("#login-form");
const textarea = form.querySelector("[name='g-recaptcha-response']");
textarea.value = "SOLVED_TOKEN";

Cloudflare Turnstile — حقن الرمز المميز

يستخدم Turnstile cf-turnstile-response كاسم الحقل.

JavaScript

// Set Turnstile token
const input = document.querySelector("[name='cf-turnstile-response']");
if (input) {
    input.value = "SOLVED_TOKEN";
}

السيلينيوم (Python)

token = "SOLVED_TOKEN"

driver.execute_script(f'''
    var input = document.querySelector("[name='cf-turnstile-response']");
    if (input) input.value = "{token}";
''')
driver.find_element("css selector", "form").submit()

طلب HTTP (بدون متصفح)

resp = requests.post("https://example.com/login", data={
    "username": "user",
    "password": "pass",
    "cf-turnstile-response": token
})

Cloudflare Challenge — حقن ملفات تعريف الارتباط

تقوم Cloudflare Challenge بإرجاع ملف تعريف الارتباط cf_clearance، وليس رمزًا مميزًا. قم بتعيينه في ملفات تعريف الارتباط الخاصة بجلستك.

الطلبات (بايثون)

import requests

session = requests.Session()

# Set the cookie
session.cookies.set("cf_clearance", "COOKIE_VALUE", domain=".example.com")

# MUST use same User-Agent and proxy as the solve
session.headers["User-Agent"] = "Mozilla/5.0 ..."
session.proxies = {"http": "http://user:pass@host:port", "https": "http://user:pass@host:port"}

# Now access the site
resp = session.get("https://example.com")

السيلينيوم (Python)

driver.get("https://example.com")

# Add the cookie
driver.add_cookie({
    "name": "cf_clearance",
    "value": "COOKIE_VALUE",
    "domain": ".example.com",
    "path": "/"
})

# Reload the page — should bypass the challenge
driver.refresh()

أخطاء الحقن الشائعة

خطأ النتيجة إصلاح
اسم الحقل غير صحيح (g-recaptcha-response للباب الدوار) تم تجاهل الرمز المميز استخدم cf-turnstile-response للباب الدوار
تم إدخال الرمز ولكن لم يتم إرسال النموذج لا شيء يحدث أرسل النموذج بعد الحقن
reCAPTCHA غير مرئية دون رد الاتصال تم تعيين الرمز المميز ولكن لم تتم معالجته ابحث عن وظيفة رد الاتصال وقم بتشغيلها
مجال ملف تعريف الارتباط بدون بادئة نقطة لم يتم إرسال ملف تعريف الارتباط للنطاقات الفرعية استخدم .example.com مع النقطة
التأخير بين الحقن والتقديم تنتهي صلاحية الرمز المميز يقدم مباشرة بعد الحقن

إرشادات التوقيت

نوع التحقق حقن وتقديم داخل
reCAPTCHA v2 120 ثانية
reCAPTCHA v3 120 ثانية
Cloudflare Turnstile 300 ثانية (5 دقائق)
ملف تعريف الارتباط Cloudflare Challenge 15-30 دقيقة

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

كيف أعرف اسم الحقل الذي يجب استخدامه؟

فحص النموذج HTML. ابحث عن المدخلات المخفية أو مناطق النص بأسماء تحتوي على recaptcha أو turnstile أو captcha. الأسماء القياسية هي g-recaptcha-response وcf-turnstile-response.

هل يمكنني حقن الرموز بدون متصفح؟

نعم، للنماذج المستندة إلى HTTP. أرسل الرمز المميز كحقل POST في مكالمة requests الخاصة بك. لا حاجة للمتصفح. يلزم إدخال المتصفح فقط في تطبيقات SPA التي تعتمد على JavaScript حيث يتم إرسال النموذج عبر JavaScript.

لماذا يعمل الرمز المميز الخاص بي مع السيلينيوم ولكن ليس مع الطلبات؟

قد يتطلب الموقع ملفات تعريف ارتباط أو رؤوس إضافية تحتوي عليها جلسة السيلينيوم من تحميل الصفحة. استخدم session.get() لتحميل الصفحة أولاً، ثم قم بإرسال الرمز المميز.


احصل على مفتاح CaptchaAI API الخاص بك

قم بإدخال رموز CAPTCHA التي تم حلها بشكل موثوق فيcaptchaai.com.


أدلة ذات صلة

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