Use Cases

Автоматическая обработка CAPTCHA при входе в систему с помощью CaptchaAI

Страницы входа — наиболее распространенное место, где можно встретить CAPTCHA. Будь то reCAPTCHA v2, v3, Turnstile или CAPTCHA с изображением, CaptchaAI решает проблему, в то время как ваша автоматизация обрабатывает заполнение и отправку форм.

Распространенные типы CAPTCHA для входа в систему

КАПЧА Как это выглядит CaptchaAI Метод
reCAPTCHA v2 Флажок или вызов перед отправкой method=userrecaptcha
reCAPTCHA v3 Невидимый подсчет очков, блокирует пользователей с низким счетом method=userrecaptcha&version=v3
Cloudflare Turnstile Виджет перед формой входа в систему method=turnstile
Капча изображения Текстовое изображение для ввода method=base64

Способ 1: HTTP-запросы (без браузера)

Для форм входа, которые принимают стандартные запросы POST:

import requests
import time

API_KEY = "YOUR_API_KEY"

def solve_recaptcha(site_key, page_url):
    resp = requests.get("https://ocr.captchaai.com/in.php", params={
        "key": API_KEY, "method": "userrecaptcha",
        "googlekey": site_key, "pageurl": page_url
    })
    task_id = resp.text.split("|")[1]
    for _ in range(60):
        time.sleep(5)
        result = requests.get("https://ocr.captchaai.com/res.php", params={
            "key": API_KEY, "action": "get", "id": task_id
        })
        if result.text == "CAPCHA_NOT_READY": continue
        if result.text.startswith("OK|"): return result.text.split("|")[1]
        raise Exception(result.text)
    raise TimeoutError()

# Login flow
session = requests.Session()
login_url = "https://https://staging.example.com/qa-login"

# Load login page to get cookies and site key
page = session.get(login_url)
# Extract site_key from the page HTML...
site_key = "6Le-wvkS..."

# Solve CAPTCHA
token = solve_recaptcha(site_key, login_url)

# Submit login form
resp = session.post(login_url, data={
    "username": "user@example.com",
    "password": "your_password",
    "g-recaptcha-response": token
})

if resp.url != login_url:
    print("Login successful!")
    # session now has auth cookies for subsequent requests

Метод 2: Селен (Python)

Для страниц входа, требующих выполнения JavaScript:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import requests
import time

API_KEY = "YOUR_API_KEY"

options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=options)

# Navigate to login page
driver.get("https://https://staging.example.com/qa-login")
wait = WebDriverWait(driver, 10)

# Fill in credentials
username_field = wait.until(EC.presence_of_element_located((By.NAME, "username")))
username_field.send_keys("user@example.com")
driver.find_element(By.NAME, "password").send_keys("your_password")

# Extract site key and solve
recaptcha = driver.find_element(By.CLASS_NAME, "g-recaptcha")
site_key = recaptcha.get_attribute("data-sitekey")

token = solve_recaptcha(site_key, driver.current_url)

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

# Submit
driver.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()
wait.until(EC.url_changes(driver.current_url))
print(f"Logged in! Now at: {driver.current_url}")

Способ 3: Puppeteer (Node.js)

const puppeteer = require("puppeteer");
const axios = require("axios");

const API_KEY = "YOUR_API_KEY";

async function solveRecaptcha(siteKey, pageUrl) {
  const submit = await axios.get("https://ocr.captchaai.com/in.php", {
    params: {
      key: API_KEY,
      method: "userrecaptcha",
      googlekey: siteKey,
      pageurl: pageUrl,
    },
  });
  const taskId = submit.data.split("|")[1];

  while (true) {
    await new Promise((r) => setTimeout(r, 5000));
    const result = await axios.get("https://ocr.captchaai.com/res.php", {
      params: { key: API_KEY, action: "get", id: taskId },
    });
    if (result.data === "CAPCHA_NOT_READY") continue;
    if (result.data.startsWith("OK|")) return result.data.split("|")[1];
    throw new Error(result.data);
  }
}

(async () => {
  const browser = await puppeteer.launch({ headless: "new" });
  const page = await browser.newPage();
  await page.goto("https://https://staging.example.com/qa-login");

  // Fill credentials
  await page.type("#username", "user@example.com");
  await page.type("#password", "your_password");

  // Get site key and solve
  const siteKey = await page.$eval(".g-recaptcha", (el) =>
    el.getAttribute("data-sitekey")
  );
  const token = await solveRecaptcha(siteKey, page.url());

  // Inject and submit
  await page.evaluate(
    (t) => (document.getElementById("g-recaptcha-response").innerHTML = t),
    token
  );
  await page.click('button[type="submit"]');
  await page.waitForNavigation();

  console.log("Logged in:", page.url());
  await browser.close();
})();

Обработка многофакторной проверки + CAPTCHA

Некоторые сайты сочетают CAPTCHA с многофакторной аутентификацией:

# Step 1: Solve CAPTCHA and submit login
token = solve_recaptcha(site_key, login_url)
resp = session.post(login_url, data={
    "username": "user@example.com",
    "password": "your_password",
    "g-recaptcha-response": token
})

# Step 2: Handle MFA page (if redirected)
if "verify" in resp.url or "mfa" in resp.url:
    # Your MFA code logic here
    mfa_code = get_mfa_code()
    resp = session.post(resp.url, data={"code": mfa_code})

# Step 3: Verify logged in
assert "dashboard" in resp.url

Поиск неисправностей

Проблема Причина Исправить
Вход возвращается на страницу CAPTCHA Срок действия токена истек Решите и отправьте в течение 60 секунд.
«Неверные учетные данные» с правильным паролем Токен CSRF отсутствует Извлеките и включите токен CSRF со страницы входа в систему.
Сессия потеряна после входа в систему Файлы cookie не сохраняются Используйте requests.Session() или файлы cookie браузера.
reCAPTCHA v3 блокируется, несмотря на токен Слишком низкая оценка CaptchaAI оптимизируется для достижения высоких результатов; проверить параметр действия

Часто задаваемые вопросы

Могу ли я автоматизировать вход на любой сайт?

CaptchaAI обрабатывает компонент CAPTCHA. Ваша автоматизация должна обрабатывать саму форму входа (заполнение полей, отправка, управление файлами cookie). Законность зависит от вашего разрешения на доступ к учетной записи.

Нужен ли мне браузер для автоматизации входа в систему?

Не всегда. Многие страницы входа принимают стандартные запросы HTTP POST. Используйте браузер только в том случае, если для входа требуется выполнение JavaScript или сложные взаимодействия.

Как мне обрабатывать обслуживание сеанса после входа в систему?

Используйте requests.Session() в Python или сохраняйте файлы cookie в своем браузере. Файлы cookie сеанса при входе в систему необходимы для всех последующих аутентифицированных запросов.

Связанные руководства

  • Обработка Selenium CAPTCHA с помощью Python
  • Решение CAPTCHA Puppeteer с помощью Node.js
  • Драматург Обработка CAPTCHA
Комментарии для этой статьи отключены.

Похожие сообщения

API Tutorials Bash Script + cURL + CaptchaAI: автоматизация Shell CAPTCHA
Пошаговое руководство по Bash Script + c URL + Captcha AI: автоматизация Shell CAPTCHA, с примерами многократного использования и понятным рабочим процессом Cap...

Пошаговое руководство по Bash Script + c URL + Captcha AI: автоматизация Shell CAPTCHA, с примерами многократн...

Apr 25, 2026
Tutorials Обработка CAPTCHA в приложениях Flask с помощью CaptchaAI
Пошаговое руководство по Обработке CAPTCHA в приложениях Flask с помощью Captcha AI, с примерами прямого повторного использования и понятным рабочим процессом C...

Пошаговое руководство по Обработке CAPTCHA в приложениях Flask с помощью Captcha AI, с примерами прямого повто...

May 04, 2026
Tutorials Кеширование CAPTCHA-токенов в собственном backend в пределах TTL
Корректно кешируйте и переиспользуйте CAPTCHA-токены в пределах официального TTL для идемпотентных ретраев в собственном backend.

Корректно кешируйте и переиспользуйте CAPTCHA-токены в пределах официального TTL для идемпотентных ретраев в с...

May 02, 2026