Use Cases

Manejo de CAPTCHA de Bot de automatización con CaptchaAI

Los robots de automatización manejan tareas repetibles: envío de formularios, creación de cuentas, ingreso de datos, monitoreo. Los CAPTCHA interrumpen estos flujos de trabajo. CaptchaAI resuelve los CAPTCHA mediante programación para que sus bots se ejecuten sin intervención humana.

Escenarios comunes de automatización

Escenario CAPTCHA típico Método CaptchaAI
Envío de formulario reCAPTCHA v2 method=userrecaptcha
Registro de cuenta reCAPTCHA v2/v3 method=userrecaptcha
Portales de entrada de datos CAPTCHA de imagen method=base64
Reserva/reservation Cloudflare Turnstile method=turnstile
Acceso a la puerta de enlace API Cloudflare Challenge method=cloudflare_challenge

Marco de bot genérico

Cree un marco de bot reutilizable para resolver CAPTCHA:

import requests
import time
import logging

logger = logging.getLogger(__name__)

class CaptchaBot:
    def __init__(self, api_key):
        self.api_key = api_key
        self.session = requests.Session()
        self.session.headers.update({
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
        })

    def solve(self, method, **params):
        """Solve any CAPTCHA type."""
        params["key"] = self.api_key
        params["method"] = method

        resp = requests.get("https://ocr.captchaai.com/in.php", params=params)
        if not resp.text.startswith("OK|"):
            raise Exception(f"Submit error: {resp.text}")

        task_id = resp.text.split("|")[1]
        logger.info(f"Task submitted: {task_id}")

        for _ in range(60):
            time.sleep(5)
            result = requests.get("https://ocr.captchaai.com/res.php", params={
                "key": self.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(f"Error: {result.text}")

        raise TimeoutError("CAPTCHA solve timed out")

    def submit_form(self, url, form_data, captcha_field="g-recaptcha-response",
                    site_key=None, captcha_method="userrecaptcha"):
        """Submit a form with CAPTCHA solving."""
        if site_key:
            if captcha_method == "userrecaptcha":
                token = self.solve(captcha_method, googlekey=site_key, pageurl=url)
            elif captcha_method == "turnstile":
                token = self.solve(captcha_method, sitekey=site_key, pageurl=url)
            form_data[captcha_field] = token

        return self.session.post(url, data=form_data)

Ejemplo: Bot de envío de formularios

bot = CaptchaBot("YOUR_API_KEY")

# Submit a contact form protected by reCAPTCHA
result = bot.submit_form(
    url="https://example.com/contact",
    form_data={
        "name": "John Doe",
        "email": "john@example.com",
        "message": "Inquiry about your service"
    },
    site_key="6Le-wvkS...",
    captcha_method="userrecaptcha"
)

print(f"Form submitted: {result.status_code}")

Ejemplo: bot de flujo de trabajo de varios pasos

def appointment_booking_bot(date, time_slot, user_info):
    bot = CaptchaBot("YOUR_API_KEY")

    # Step 1: Load booking page
    page = bot.session.get("https://example.com/book")

    # Step 2: Select date and time
    resp = bot.session.post("https://example.com/book/select", data={
        "date": date,
        "time": time_slot
    })

    # Step 3: Fill personal info with CAPTCHA
    result = bot.submit_form(
        url="https://example.com/book/confirm",
        form_data={
            "name": user_info["name"],
            "email": user_info["email"],
            "phone": user_info["phone"],
            "date": date,
            "time": time_slot
        },
        site_key="6Le-wvkS...",
        captcha_method="userrecaptcha"
    )

    return result.status_code == 200

# Run
success = appointment_booking_bot(
    date="2025-02-15",
    time_slot="10:00",
    user_info={"name": "John Doe", "email": "john@example.com", "phone": "555-0100"}
)

Ejemplo: Bot de entrada de datos con imagen CAPTCHA

import base64

def data_entry_bot(entries, captcha_image_url):
    bot = CaptchaBot("YOUR_API_KEY")

    for entry in entries:
        # Load the form page
        page = bot.session.get("https://portal.example.com/entry")

        # Download and solve image CAPTCHA
        img = bot.session.get(captcha_image_url)
        img_b64 = base64.b64encode(img.content).decode()
        captcha_text = bot.solve("base64", body=img_b64)

        # Submit entry
        resp = bot.session.post("https://portal.example.com/entry", data={
            **entry,
            "captcha": captcha_text
        })

        logger.info(f"Entry submitted: {resp.status_code}")
        time.sleep(random.uniform(2, 5))

Marco de bots de Node.js

const axios = require("axios");

class CaptchaBot {
  constructor(apiKey) {
    this.apiKey = apiKey;
  }

  async solve(method, params) {
    params.key = this.apiKey;
    params.method = method;

    const submit = await axios.get("https://ocr.captchaai.com/in.php", {
      params,
    });
    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: this.apiKey, 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 submitForm(url, formData, siteKey, method = "userrecaptcha") {
    const token = await this.solve(method, {
      googlekey: siteKey,
      pageurl: url,
    });
    formData["g-recaptcha-response"] = token;

    return axios.post(url, new URLSearchParams(formData));
  }
}

// Usage
const bot = new CaptchaBot("YOUR_API_KEY");
const result = await bot.submitForm(
  "https://example.com/submit",
  { name: "John", email: "john@example.com" },
  "6Le-wvkS..."
);

Solución de problemas

Problema Solución
Token CAPTCHA rechazado Use el token dentro de los 120 segundos posteriores a la resolución
Bot detectado a pesar de token válido Agregue encabezados ocultos y solicite retrasos
El formulario requiere campos adicionales Inspeccionar el origen del formulario en busca de campos ocultos (tokens CSRF)
Tarifa limitada en envíos repetidos Agregar retrasos y rotar proxies

Preguntas frecuentes

¿Pueden los robots de automatización manejar cualquier tipo de CAPTCHA?

Con CaptchaAI, sí. La API admite reCAPTCHA (todas las versiones), Cloudflare Turnstile, GeeTest, hCaptcha, CAPTCHA de imágenes y más.

¿Cómo ejecuto los bots 24/7?

Utilice herramientas de programación (cron, Programador de tareas, systemd) o implemente funciones en la nube. La API CaptchaAI está disponible las 24 /7 con un tiempo de actividad superior al 99,9 %.

¿Qué pasa con los bots que necesitan manejar anti-bot más allá de los CAPTCHA?

Combina CaptchaAI con navegadores stealth (undetected-chromedriver, puppeteer-extra-stealth). CaptchaAI maneja la capa CAPTCHA; las herramientas stealth se encargan de la detección de fingerprinting.

Guías relacionadas

  • Inicio de sesión automatizado con CAPTCHA
  • Scripts de automatización CAPTCHA
  • Playwright CAPTCHA handling
Los comentarios están deshabilitados para este artículo.

Publicaciones relacionadas

Troubleshooting Errores y solución de problemas de Cloudflare Turnstile
Errores frecuentes de Cloudflare Turnstile: códigos de error de la API, fallos de validación, token rechazado y cómo corregir cada problema con Captcha AI.

Errores frecuentes de Cloudflare Turnstile: códigos de error de la API, fallos de validación, token rechazado...

Apr 23, 2026
Explainers Guía de detección de implementación de Cloudflare Turnstile
Cómo detectar la implementación de Cloudflare Turnstile: desde HTML estático y llamadas Java Script hasta carga dinámica, con código en Python y Puppeteer.

Cómo detectar la implementación de Cloudflare Turnstile: desde HTML estático y llamadas Java Script hasta carg...

Apr 18, 2026
Use Cases Manejo de CAPTCHA del dramaturgo con CaptchaAI
Guía práctica sobre Manejo de CAPTCHA del dramaturgo con Captcha AI con escenarios realistas, consejos de workflow y pasos accionables con Captcha AI.

Guía práctica sobre Manejo de CAPTCHA del dramaturgo con Captcha AI con escenarios realistas, consejos de work...

Apr 26, 2026