Cómo funcionan los captchas de última generación y por qué es importante para la automatización

Cómo funcionan los captchas de última generación y por qué es importante para la automatización
Markus_automation
Markus_automation

Expert in data parsing and automation

Los captchas modernos han ido mucho más allá de los simples rompecabezas diseñados para detener a los bots. Son sistemas complejos de verificación de comportamiento y entorno que analizan no solo el token ingresado, sino también la huella digital del usuario, las características de su entorno y los patrones de comportamiento. La interfaz visible es solo la capa final de un proceso de verificación de múltiples etapas.

Para los desarrolladores de scrapers, scripts de automatización e infraestructura anti-detección, es de vital importancia comprender la mecánica interna de estas soluciones. En la práctica, trabajar con captchas se reduce a dos aspectos clave:

  • Puntuación (Scoring): quién calcula el coeficiente de riesgo (puntuación) y qué modelo se utiliza.

  • Señales: qué datos se recopilan en el lado del cliente y cómo se transmiten al servidor de validación.

Diferentes sistemas implementan estos mecanismos de diferentes maneras. En este artículo, examinaremos tres de las soluciones más comunes y técnicamente avanzadas: reCAPTCHA v3, Cloudflare Turnstile y hCaptcha, y analizaremos su arquitectura, fuentes de señales y enfoques para la evaluación de riesgos.

Contenidos

Manténgase anónimo, aproveche el multicuentas y alcance sus objetivos con el navegador antidetección de mayor calidad del mercado.

¿Le gustaría probar Octo Browser con descuento?
Utilice el código promocional OCTOSCRAPER para obtener un 30% de descuento en cualquier suscripción. Esta oferta es válida solo para nuevos usuarios.

Cómo funcionan los captchas

Veamos primero cómo funciona cada solución de captcha:

reCAPTCHA v3 (Google)

Un ejemplo clásico de un modelo de puntuación invisible. El navegador recopila datos sobre el comportamiento del usuario y los intercambia con Google por un token.

Este token se envía al servidor del sitio web, que luego envía una solicitud secreta a Google. El propósito es verificar el token y recibir una respuesta JSON con una puntuación de riesgo que va desde 0.0 (bot) hasta 1.0 (humano) y una etiqueta de acción.

Si un usuario recibe una puntuación baja (< 0.5), el propietario del sitio web configura un escenario sobre cómo manejar a dicho visitante: bloquearlo por completo o mostrar un reCAPTCHA v2 visible para verificación adicional (los omnipresentes semáforos).

Ejemplo de integración: En una página con un captcha, el script se conecta de la siguiente manera:

<script src="https://www.google.com/recaptcha/api.js?render=Your_site_key">
<script src="https://www.google.com/recaptcha/api.js?render=Your_site_key">

Cuando se produce la acción de destino (por ejemplo, al hacer clic en el botón "Iniciar sesión"), se llama al siguiente método

grecaptcha.execute('YOUR_SITE_KEY', {action: 'login'}).then(function(token) {
     // Este token se envía al backend del sitio web junto con los datos del formulario
 });
grecaptcha.execute('YOUR_SITE_KEY', {action: 'login'}).then(function(token) {
     // Este token se envía al backend del sitio web junto con los datos del formulario
 });
El token es válido durante solo 2 minutos y se puede utilizar para verificación una sola vez.

El token es válido durante solo 2 minutos y se puede utilizar para verificación una sola vez.

Un matiz importante para los raspadores: la puntuación depende no solo del comportamiento, sino también de los atributos empresariales del sitio web. Cuando Google aumenta el peso de las huellas digitales TLS ClientHello, la puntuación cae por debajo de 0.1 incluso con un token válido si su solicitud no imita a Chrome 122+ (hash JA3). He aquí un ejemplo de verificación de backend:

import requests

# client_ip debe obtenerse de request.remote_addr o headers 
response = requests.post('https://www.google.com/recaptcha/api/siteverify', data={
    'secret': 'YOUR_SECRET_KEY',
    'response': token,
    'remoteip': client_ip 
}).json()

score = response.get('score', 0) 
if score < 0.5:
    # Alternativa a v2 o bloqueo
    pass
import requests

# client_ip debe obtenerse de request.remote_addr o headers 
response = requests.post('https://www.google.com/recaptcha/api/siteverify', data={
    'secret': 'YOUR_SECRET_KEY',
    'response': token,
    'remoteip': client_ip 
}).json()

score = response.get('score', 0) 
if score < 0.5:
    # Alternativa a v2 o bloqueo
    pass

Cloudflare Turnstile

Una plataforma de verificación inteligente sin acertijos visuales que selecciona dinámicamente un conjunto de pruebas de navegador en segundo plano. En la mayoría de los casos, realiza la verificación de forma invisible para el usuario, sin clics, selección de imágenes u otras acciones explícitas.

Cloudflare Turnstile

Los principales tipos de comprobaciones incluyen:

  • Prueba de trabajo. Al navegador se le asigna una tarea computacional (generalmente relacionada con el hashing) que genera una carga a corto plazo en la CPU. El objetivo es aumentar el costo de las solicitudes automáticas masivas. 

  • Comprobación de integridad del entorno. El sistema compara los parámetros declarados del cliente (por ejemplo, User-Agent) con las capacidades reales del motor. Cualquier discrepancia entre las características del entorno declaradas y reales aumenta la puntuación de riesgo. 

  • Disponibilidad de API. Se analiza el soporte para los estándares web modernos (Canvas, WebAudio, WebRTC, etc.). Los bots que se ejecutan en motores obsoletos o reducidos suelen fallar en esta etapa debido a la implementación incompleta de dichas interfaces.

  • Validación de implementación. El sistema comprueba no solo la presencia de las API, sino también la autenticidad del comportamiento de su funcionamiento; por ejemplo, si la representación de Canvas coincide con el perfil de referencia de Chrome real o contiene artefactos típicos de controladores virtualizados o sustituidos.

Además, Turnstile comprueba la Battery API y la Permissions Policy, ya que los bots que ejecutan Node.js en modo headless a menudo procesan incorrectamente navigator.getBattery(). Para evitar esto, parchee a través de puppeteer-extra:

await page.evaluateOnNewDocument(() => {
  const originalQuery = window.navigator.permissions.query;
  window.navigator.permissions.query = (parameters) => originalQuery(parameters).then(() => ({ state: 'granted' }));
});
await page.evaluateOnNewDocument(() => {
  const originalQuery = window.navigator.permissions.query;
  window.navigator.permissions.query = (parameters) => originalQuery(parameters).then(() => ({ state: 'granted' }));
});

Después de estas comprobaciones, se aplican modelos de ML para evaluar los resultados y se emite un token de un solo uso de corta duración. 

La conexión del script funciona de manera similar a reCAPTCHA. Ejemplo de integración:

<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>

Elemento de widget:

<div class="cf-turnstile" data-sitekey="yourSiteKey"></div>
<div class="cf-turnstile" data-sitekey="yourSiteKey"></div>

Turnstile funciona en dos modos:

  • Gestionado: se muestra un widget en la página. En la mayoría de los casos, pasa la verificación de forma automática e inmediatamente se vuelve "verde" sin la intervención del usuario.

  • Invisible: la verificación se realiza completamente en segundo plano y no se muestra en la interfaz.

Si el sistema detecta un aumento de riesgo o anomalías en las señales, puede escalar la verificación y solicitar una acción adicional — por ejemplo, la verificación marcando una casilla.

Cloudflare Turnstile

Después de pasar la verificación, el widget coloca un token en el campo de formulario oculto cf-turnstile-response. El servidor del sitio web recibe este token y envía una solicitud POST a Cloudflare: https://challenges.cloudflare.com/turnstile/v0/siteverify (parámetros: secret y response=token).

El token, al igual que con reCAPTCHA, es de un solo uso, pero dura más tiempo — durante 5 minutos. Si recibe success: false, el campo error-codes contendrá el motivo (por ejemplo, invalid-input-response significa que el token ha expirado o fue falsificado).

hCaptcha 

Un modelo de verificación híbrido y una alternativa privada a las soluciones de Google. En la configuración básica, utiliza la conocida casilla de verificación "Soy humano". Si se detectan señales sospechosas, el sistema escala la verificación y ofrece tareas visuales más complejas — por lo general más exigentes que las de Google.

hCaptcha 

Además del escenario estándar, hCaptcha está disponible en los modos Invisible y Pasivo, donde la verificación ocurre con una intervención mínima o nula del usuario. Para los clientes de nivel Enterprise, existe un mecanismo similar al modelo de puntuación de Google, que permite evaluar el riesgo sin mostrar tareas interactivas.

Ejemplo de integración: Se conecta normalmente. La sintaxis del script es compatible con las soluciones de la competencia:

<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
 <div class="h-captcha" data-sitekey="YOUR_SITE_KEY"><

<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
 <div class="h-captcha" data-sitekey="YOUR_SITE_KEY"><

Después de superar la verificación del captcha, aparece un campo oculto h-captcha-response en el formulario. El servidor del sitio web lo verifica con una solicitud POST: https://api.hcaptcha.com/siteverify. Parámetros: secret, response, y preferiblemente remoteip.

hCaptcha 

Respuesta del servidor: En la versión gratuita todo es muy sencillo:

{
   "success": true,  // o false
   "challenge_ts": "..."
 }
{
   "success": true,  // o false
   "challenge_ts": "..."
 }

En la versión Enterprise, el JSON contiene campos adicionales con una puntuación de riesgo y los motivos de rechazo.

Tabla comparativa por criterios

Criterio

reCAPTCHA v3 (Google)

Cloudflare Turnstile

hCaptcha

Lógica de detección (donde se puede perder puntuación)

Historial de comportamiento. El sistema tiene en cuenta la huella digital del usuario dentro del ecosistema de Google. La falta de historial de búsqueda, cookies de Google, sesiones autorizadas, o tener una dirección IP en listas de reputación disminuye directamente la puntuación de riesgo final.

Entorno y huella digital. Comprueba estrictamente la consistencia del navegador (huella digital TLS, Canvas, WebGL). El desajuste entre los parámetros Headless y el Chrome real provoca el fallo de la prueba.

IP y comportamiento. Reacciona de manera agresiva a IPs de centros de datos y movimientos de ratón poco naturales. A menudo emite tareas visuales complejas.

Dificultad de elusión

Alta. Obtener un token es fácil, pero conseguir una puntuación alta es difícil. Se requerirán perfiles debidamente preparados y proxies residenciales.

Alta. Se puede eludir con un navegador antidetección de alta calidad o aplicando parches correctos al entorno de JS.

Media/Alta. La principal medida de protección es visual. Se puede eludir utilizando servicios dedicados de reconocimiento visual (aunque muchos se han vuelto ineficientes).

Carga de recursos

Baja. El script en sí es ligero, pero requiere recursos para mantener perfiles (cookies, historial).

Alta. Utiliza prueba de trabajo y carga la CPU con tareas matemáticas.

Alta (tiempo/dinero). Requiere pago por la resolución o tiempo dedicado a hacer clics.

Dependencia de JS/Cookies

Crítica. No funciona sin JS. Para una puntuación >0.3, las cookies (SID/HSID) son casi obligatorias.

Alta. No funciona sin JS. Las cookies son menos importantes que la integridad de la huella digital y una IP limpia.

Media. Requiere JS. Las cookies son secundarias; una IP limpia es importante. A menudo se utiliza como marcador de posición para hacer clic.

Estrategias para eludir captchas

En tareas que implican raspado a gran escala, multicuentas e interacción intensiva con interfaces web, se pueden utilizar tres enfoques para resolver captchas. La elección del método depende del volumen de tráfico, la estabilidad requerida y el nivel de protección de la página de destino.

Delegación: uso de un servicio intermediario

El método más popular para sistemas escalables. Usted no resuelve la tarea por sí mismo; en su lugar, la envía a un intermediario que resuelve el captcha por usted y devuelve el token.

Pero obtener un token del servicio no es suficiente. El sitio web no sabrá que el captcha se ha resuelto hasta que usted aplique el token. Esto generalmente se hace a través de una inyección de JavaScript:

  1. Debe encontrar el campo oculto (por lo general, g-recaptcha-response) e insertar el token allí.

  2. La parte crucial: debe llamar a la función callback que activa la verificación en el servidor. Sin este paso, el botón "Enviar" puede permanecer inactivo.

Delegación: uso de un servicio intermediario
# Insertar el token en el campo oculto
driver.execute_script("document.getElementsByName('g-recaptcha-response')[0].value = arguments[0];", token)
# Llamar a la función de retorno de llamada o callback (un disparador para el sitio web)
driver.execute_script(f"submitCallback('{token}');")
# Insertar el token en el campo oculto
driver.execute_script("document.getElementsByName('g-recaptcha-response')[0].value = arguments[0];", token)
# Llamar a la función de retorno de llamada o callback (un disparador para el sitio web)
driver.execute_script(f"submitCallback('{token}');")

Posibles escollos:

  • Coincidencia del User-Agent: Es de vital importancia que el User-Agent utilizado durante el reconocimiento por parte del servicio coincida con el que usted utiliza al enviar el token. Si el servicio resolvió el captcha con Chrome 139 pero usted envía el token con encabezados de Chrome 140, el token será rechazado (esto es especialmente crítico para Turnstile).

  • Coincidencia de proxy: Para reCAPTCHA v3 y hCaptcha Enterprise, es muy recomendable enviar su proxy al servicio de reconocimiento para que el captcha se resuelva desde la misma dirección IP que utilizará para acceder al sitio. De lo contrario, Google detectará la discrepancia.

  • Parámetros dinámicos: A menudo la SiteKey por sí sola no es suficiente. Por ejemplo, si trabaja con Google SERP u otros sistemas de protección complejos, pueden requerir pasar el parámetro data-s, que se genera dinámicamente cada vez que se carga la página. Si envía la SiteKey al servicio de resolución sin este parámetro, el token será válido pero el sitio web no lo aceptará.

Emulación de navegador (Puppeteer/Selenium + Stealth)

Se utiliza cuando el sitio web comprueba el entorno de JS de forma demasiado estricta (Turnstile, hCaptcha Enterprise). Un Puppeteer o Selenium estándar se detectará de inmediato debido a la propiedad navigator.webdriver = true.

Por lo tanto, se deben utilizar herramientas adicionales: Puppeteer-extra-plugin-stealth, Undetected Chromedriver o Octo Browser a través de la API.

La esencia del método es que el navegador utiliza un núcleo Chromium modificado (que cambia y falsea el núcleo). Las huellas digitales críticas (Canvas, WebGL, WebRTC, Audio) se falsean y alteran a nivel de código nativo C++ en lugar de hacerlo a través de inyecciones de JS.

Este es el punto clave, ya que las medidas de protección como Turnstile buscan rastros de interferencia en el entorno de JS, pero en Octo no hay ninguno. El navegador utiliza parámetros y ruido de hardware únicos, supera las comprobaciones de integridad y usted recibe el token automáticamente.

Este método es bastante exigente en términos de recursos de RAM y CPU, por lo que no es adecuado para miles de hilos de ejecución. Sin embargo, para 50–100 hilos esta solución resulta óptima.

Si necesita más de 100 hilos de ejecución, puede combinarlo con Docker utilizando las banderas --no-sandbox --disable-gpu. Con Playwright puede esperar una tasa de éxito de aproximadamente el 70% al eludir Turnstile utilizando un complemento sigiloso (stealth plugin) y proxies residenciales. Como alternativa, puede utilizar la API de Octo Browser (modo headless sin interfaz gráfica).

Solicitudes a nivel de HTTP (TLS fingerprinting)

Este es un enfoque avanzado para raspado de gran volumen utilizando Go, Python Requests y C#, donde no se utiliza el navegador en sí. En su lugar, se reproduce su huella digital de red.

Las bibliotecas HTTP estándar, como Python Requests, forman un protocolo de enlace (handshake) TLS con diferencias características de los apretones de manos del navegador estándar: por ejemplo, un orden diferente de parámetros y una firma de conexión. Cloudflare detecta tales discrepancias y puede bloquear la solicitud antes de que se cargue el script de captcha.

Existen bibliotecas capaces de imitar la huella digital TLS de un navegador real. Esto hace posible superar las comprobaciones de Cloudflare Turnstile sin necesidad de iniciar un navegador.

Por qué su bot recibe una puntuación baja o un bloqueo

Si envió el captcha a un servicio intermediario, insertó el token devuelto, pero aun así el sitio no le permite el acceso, lo más probable es que el problema no sea el captcha en sí, sino uno de los siguientes problemas:

  1. Proxies sucios. Google y Cloudflare marcan las IPs de centros de datos como de alto riesgo por defecto. La única solución en este caso es utilizar proxies móviles o residenciales.

  2. Falta de preparación del perfil (relevante para reCAPTCHA v3). Está intentando acceder al sitio utilizando un perfil limpio sin historial. Para reCAPTCHA v3 esto indica claramente que se trata de un bot. Utilice perfiles preparados adecuadamente con cookies de sesión SID/HSID guardadas de una sesión de Google autorizada.

  3. Inconsistencia de encabezados. El orden de los encabezados en la solicitud no coincide con el de un navegador real. Por ejemplo, Chrome siempre envía los encabezados en un orden específico (Host -> Connection -> sec-ch-ua...). Si su biblioteca los envía de forma diferente, esta es una señal de alerta para los sistemas antifraude.

Conclusión

En 2026, la automatización requiere una arquitectura compleja y el control sobre todos los niveles de interacción.

reCAPTCHA v3 se puede eludir no tanto resolviendo tareas, sino mediante la gestión de la reputación: cultivo de perfiles de calidad (profile farming), un historial estable de interacciones y un entorno coherente.

Cloudflare Turnstile impone requisitos estrictos sobre la integridad del entorno. Cualquier discrepancia en las huellas digitales de JS, API o TLS conduce a una menor confianza y a una escalada del nivel de verificación.

hCaptcha se basa más en tareas visuales, lo que la hace relativamente más susceptible al reconocimiento automatizado a través de modelos modernos de visión por computadora.

Trabajar con captchas hoy en día requiere comprender los principios de los sistemas antibot modernos y la capacidad de gestionar la huella digital en cada etapa de interacción.

Manténgase anónimo, aproveche el multicuentas y alcance sus objetivos con el navegador antidetección de mayor calidad del mercado.

¿Le gustaría probar Octo Browser con descuento?
Utilice el código promocional OCTOSCRAPER para obtener un 30% de descuento en cualquier suscripción. Esta oferta es válida solo para nuevos usuarios.

Cómo funcionan los captchas

Veamos primero cómo funciona cada solución de captcha:

reCAPTCHA v3 (Google)

Un ejemplo clásico de un modelo de puntuación invisible. El navegador recopila datos sobre el comportamiento del usuario y los intercambia con Google por un token.

Este token se envía al servidor del sitio web, que luego envía una solicitud secreta a Google. El propósito es verificar el token y recibir una respuesta JSON con una puntuación de riesgo que va desde 0.0 (bot) hasta 1.0 (humano) y una etiqueta de acción.

Si un usuario recibe una puntuación baja (< 0.5), el propietario del sitio web configura un escenario sobre cómo manejar a dicho visitante: bloquearlo por completo o mostrar un reCAPTCHA v2 visible para verificación adicional (los omnipresentes semáforos).

Ejemplo de integración: En una página con un captcha, el script se conecta de la siguiente manera:

<script src="https://www.google.com/recaptcha/api.js?render=Your_site_key">

Cuando se produce la acción de destino (por ejemplo, al hacer clic en el botón "Iniciar sesión"), se llama al siguiente método

grecaptcha.execute('YOUR_SITE_KEY', {action: 'login'}).then(function(token) {
     // Este token se envía al backend del sitio web junto con los datos del formulario
 });
El token es válido durante solo 2 minutos y se puede utilizar para verificación una sola vez.

El token es válido durante solo 2 minutos y se puede utilizar para verificación una sola vez.

Un matiz importante para los raspadores: la puntuación depende no solo del comportamiento, sino también de los atributos empresariales del sitio web. Cuando Google aumenta el peso de las huellas digitales TLS ClientHello, la puntuación cae por debajo de 0.1 incluso con un token válido si su solicitud no imita a Chrome 122+ (hash JA3). He aquí un ejemplo de verificación de backend:

import requests

# client_ip debe obtenerse de request.remote_addr o headers 
response = requests.post('https://www.google.com/recaptcha/api/siteverify', data={
    'secret': 'YOUR_SECRET_KEY',
    'response': token,
    'remoteip': client_ip 
}).json()

score = response.get('score', 0) 
if score < 0.5:
    # Alternativa a v2 o bloqueo
    pass

Cloudflare Turnstile

Una plataforma de verificación inteligente sin acertijos visuales que selecciona dinámicamente un conjunto de pruebas de navegador en segundo plano. En la mayoría de los casos, realiza la verificación de forma invisible para el usuario, sin clics, selección de imágenes u otras acciones explícitas.

Cloudflare Turnstile

Los principales tipos de comprobaciones incluyen:

  • Prueba de trabajo. Al navegador se le asigna una tarea computacional (generalmente relacionada con el hashing) que genera una carga a corto plazo en la CPU. El objetivo es aumentar el costo de las solicitudes automáticas masivas. 

  • Comprobación de integridad del entorno. El sistema compara los parámetros declarados del cliente (por ejemplo, User-Agent) con las capacidades reales del motor. Cualquier discrepancia entre las características del entorno declaradas y reales aumenta la puntuación de riesgo. 

  • Disponibilidad de API. Se analiza el soporte para los estándares web modernos (Canvas, WebAudio, WebRTC, etc.). Los bots que se ejecutan en motores obsoletos o reducidos suelen fallar en esta etapa debido a la implementación incompleta de dichas interfaces.

  • Validación de implementación. El sistema comprueba no solo la presencia de las API, sino también la autenticidad del comportamiento de su funcionamiento; por ejemplo, si la representación de Canvas coincide con el perfil de referencia de Chrome real o contiene artefactos típicos de controladores virtualizados o sustituidos.

Además, Turnstile comprueba la Battery API y la Permissions Policy, ya que los bots que ejecutan Node.js en modo headless a menudo procesan incorrectamente navigator.getBattery(). Para evitar esto, parchee a través de puppeteer-extra:

await page.evaluateOnNewDocument(() => {
  const originalQuery = window.navigator.permissions.query;
  window.navigator.permissions.query = (parameters) => originalQuery(parameters).then(() => ({ state: 'granted' }));
});

Después de estas comprobaciones, se aplican modelos de ML para evaluar los resultados y se emite un token de un solo uso de corta duración. 

La conexión del script funciona de manera similar a reCAPTCHA. Ejemplo de integración:

<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>

Elemento de widget:

<div class="cf-turnstile" data-sitekey="yourSiteKey"></div>

Turnstile funciona en dos modos:

  • Gestionado: se muestra un widget en la página. En la mayoría de los casos, pasa la verificación de forma automática e inmediatamente se vuelve "verde" sin la intervención del usuario.

  • Invisible: la verificación se realiza completamente en segundo plano y no se muestra en la interfaz.

Si el sistema detecta un aumento de riesgo o anomalías en las señales, puede escalar la verificación y solicitar una acción adicional — por ejemplo, la verificación marcando una casilla.

Cloudflare Turnstile

Después de pasar la verificación, el widget coloca un token en el campo de formulario oculto cf-turnstile-response. El servidor del sitio web recibe este token y envía una solicitud POST a Cloudflare: https://challenges.cloudflare.com/turnstile/v0/siteverify (parámetros: secret y response=token).

El token, al igual que con reCAPTCHA, es de un solo uso, pero dura más tiempo — durante 5 minutos. Si recibe success: false, el campo error-codes contendrá el motivo (por ejemplo, invalid-input-response significa que el token ha expirado o fue falsificado).

hCaptcha 

Un modelo de verificación híbrido y una alternativa privada a las soluciones de Google. En la configuración básica, utiliza la conocida casilla de verificación "Soy humano". Si se detectan señales sospechosas, el sistema escala la verificación y ofrece tareas visuales más complejas — por lo general más exigentes que las de Google.

hCaptcha 

Además del escenario estándar, hCaptcha está disponible en los modos Invisible y Pasivo, donde la verificación ocurre con una intervención mínima o nula del usuario. Para los clientes de nivel Enterprise, existe un mecanismo similar al modelo de puntuación de Google, que permite evaluar el riesgo sin mostrar tareas interactivas.

Ejemplo de integración: Se conecta normalmente. La sintaxis del script es compatible con las soluciones de la competencia:

<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
 <div class="h-captcha" data-sitekey="YOUR_SITE_KEY"><

Después de superar la verificación del captcha, aparece un campo oculto h-captcha-response en el formulario. El servidor del sitio web lo verifica con una solicitud POST: https://api.hcaptcha.com/siteverify. Parámetros: secret, response, y preferiblemente remoteip.

hCaptcha 

Respuesta del servidor: En la versión gratuita todo es muy sencillo:

{
   "success": true,  // o false
   "challenge_ts": "..."
 }

En la versión Enterprise, el JSON contiene campos adicionales con una puntuación de riesgo y los motivos de rechazo.

Tabla comparativa por criterios

Criterio

reCAPTCHA v3 (Google)

Cloudflare Turnstile

hCaptcha

Lógica de detección (donde se puede perder puntuación)

Historial de comportamiento. El sistema tiene en cuenta la huella digital del usuario dentro del ecosistema de Google. La falta de historial de búsqueda, cookies de Google, sesiones autorizadas, o tener una dirección IP en listas de reputación disminuye directamente la puntuación de riesgo final.

Entorno y huella digital. Comprueba estrictamente la consistencia del navegador (huella digital TLS, Canvas, WebGL). El desajuste entre los parámetros Headless y el Chrome real provoca el fallo de la prueba.

IP y comportamiento. Reacciona de manera agresiva a IPs de centros de datos y movimientos de ratón poco naturales. A menudo emite tareas visuales complejas.

Dificultad de elusión

Alta. Obtener un token es fácil, pero conseguir una puntuación alta es difícil. Se requerirán perfiles debidamente preparados y proxies residenciales.

Alta. Se puede eludir con un navegador antidetección de alta calidad o aplicando parches correctos al entorno de JS.

Media/Alta. La principal medida de protección es visual. Se puede eludir utilizando servicios dedicados de reconocimiento visual (aunque muchos se han vuelto ineficientes).

Carga de recursos

Baja. El script en sí es ligero, pero requiere recursos para mantener perfiles (cookies, historial).

Alta. Utiliza prueba de trabajo y carga la CPU con tareas matemáticas.

Alta (tiempo/dinero). Requiere pago por la resolución o tiempo dedicado a hacer clics.

Dependencia de JS/Cookies

Crítica. No funciona sin JS. Para una puntuación >0.3, las cookies (SID/HSID) son casi obligatorias.

Alta. No funciona sin JS. Las cookies son menos importantes que la integridad de la huella digital y una IP limpia.

Media. Requiere JS. Las cookies son secundarias; una IP limpia es importante. A menudo se utiliza como marcador de posición para hacer clic.

Estrategias para eludir captchas

En tareas que implican raspado a gran escala, multicuentas e interacción intensiva con interfaces web, se pueden utilizar tres enfoques para resolver captchas. La elección del método depende del volumen de tráfico, la estabilidad requerida y el nivel de protección de la página de destino.

Delegación: uso de un servicio intermediario

El método más popular para sistemas escalables. Usted no resuelve la tarea por sí mismo; en su lugar, la envía a un intermediario que resuelve el captcha por usted y devuelve el token.

Pero obtener un token del servicio no es suficiente. El sitio web no sabrá que el captcha se ha resuelto hasta que usted aplique el token. Esto generalmente se hace a través de una inyección de JavaScript:

  1. Debe encontrar el campo oculto (por lo general, g-recaptcha-response) e insertar el token allí.

  2. La parte crucial: debe llamar a la función callback que activa la verificación en el servidor. Sin este paso, el botón "Enviar" puede permanecer inactivo.

Delegación: uso de un servicio intermediario
# Insertar el token en el campo oculto
driver.execute_script("document.getElementsByName('g-recaptcha-response')[0].value = arguments[0];", token)
# Llamar a la función de retorno de llamada o callback (un disparador para el sitio web)
driver.execute_script(f"submitCallback('{token}');")

Posibles escollos:

  • Coincidencia del User-Agent: Es de vital importancia que el User-Agent utilizado durante el reconocimiento por parte del servicio coincida con el que usted utiliza al enviar el token. Si el servicio resolvió el captcha con Chrome 139 pero usted envía el token con encabezados de Chrome 140, el token será rechazado (esto es especialmente crítico para Turnstile).

  • Coincidencia de proxy: Para reCAPTCHA v3 y hCaptcha Enterprise, es muy recomendable enviar su proxy al servicio de reconocimiento para que el captcha se resuelva desde la misma dirección IP que utilizará para acceder al sitio. De lo contrario, Google detectará la discrepancia.

  • Parámetros dinámicos: A menudo la SiteKey por sí sola no es suficiente. Por ejemplo, si trabaja con Google SERP u otros sistemas de protección complejos, pueden requerir pasar el parámetro data-s, que se genera dinámicamente cada vez que se carga la página. Si envía la SiteKey al servicio de resolución sin este parámetro, el token será válido pero el sitio web no lo aceptará.

Emulación de navegador (Puppeteer/Selenium + Stealth)

Se utiliza cuando el sitio web comprueba el entorno de JS de forma demasiado estricta (Turnstile, hCaptcha Enterprise). Un Puppeteer o Selenium estándar se detectará de inmediato debido a la propiedad navigator.webdriver = true.

Por lo tanto, se deben utilizar herramientas adicionales: Puppeteer-extra-plugin-stealth, Undetected Chromedriver o Octo Browser a través de la API.

La esencia del método es que el navegador utiliza un núcleo Chromium modificado (que cambia y falsea el núcleo). Las huellas digitales críticas (Canvas, WebGL, WebRTC, Audio) se falsean y alteran a nivel de código nativo C++ en lugar de hacerlo a través de inyecciones de JS.

Este es el punto clave, ya que las medidas de protección como Turnstile buscan rastros de interferencia en el entorno de JS, pero en Octo no hay ninguno. El navegador utiliza parámetros y ruido de hardware únicos, supera las comprobaciones de integridad y usted recibe el token automáticamente.

Este método es bastante exigente en términos de recursos de RAM y CPU, por lo que no es adecuado para miles de hilos de ejecución. Sin embargo, para 50–100 hilos esta solución resulta óptima.

Si necesita más de 100 hilos de ejecución, puede combinarlo con Docker utilizando las banderas --no-sandbox --disable-gpu. Con Playwright puede esperar una tasa de éxito de aproximadamente el 70% al eludir Turnstile utilizando un complemento sigiloso (stealth plugin) y proxies residenciales. Como alternativa, puede utilizar la API de Octo Browser (modo headless sin interfaz gráfica).

Solicitudes a nivel de HTTP (TLS fingerprinting)

Este es un enfoque avanzado para raspado de gran volumen utilizando Go, Python Requests y C#, donde no se utiliza el navegador en sí. En su lugar, se reproduce su huella digital de red.

Las bibliotecas HTTP estándar, como Python Requests, forman un protocolo de enlace (handshake) TLS con diferencias características de los apretones de manos del navegador estándar: por ejemplo, un orden diferente de parámetros y una firma de conexión. Cloudflare detecta tales discrepancias y puede bloquear la solicitud antes de que se cargue el script de captcha.

Existen bibliotecas capaces de imitar la huella digital TLS de un navegador real. Esto hace posible superar las comprobaciones de Cloudflare Turnstile sin necesidad de iniciar un navegador.

Por qué su bot recibe una puntuación baja o un bloqueo

Si envió el captcha a un servicio intermediario, insertó el token devuelto, pero aun así el sitio no le permite el acceso, lo más probable es que el problema no sea el captcha en sí, sino uno de los siguientes problemas:

  1. Proxies sucios. Google y Cloudflare marcan las IPs de centros de datos como de alto riesgo por defecto. La única solución en este caso es utilizar proxies móviles o residenciales.

  2. Falta de preparación del perfil (relevante para reCAPTCHA v3). Está intentando acceder al sitio utilizando un perfil limpio sin historial. Para reCAPTCHA v3 esto indica claramente que se trata de un bot. Utilice perfiles preparados adecuadamente con cookies de sesión SID/HSID guardadas de una sesión de Google autorizada.

  3. Inconsistencia de encabezados. El orden de los encabezados en la solicitud no coincide con el de un navegador real. Por ejemplo, Chrome siempre envía los encabezados en un orden específico (Host -> Connection -> sec-ch-ua...). Si su biblioteca los envía de forma diferente, esta es una señal de alerta para los sistemas antifraude.

Conclusión

En 2026, la automatización requiere una arquitectura compleja y el control sobre todos los niveles de interacción.

reCAPTCHA v3 se puede eludir no tanto resolviendo tareas, sino mediante la gestión de la reputación: cultivo de perfiles de calidad (profile farming), un historial estable de interacciones y un entorno coherente.

Cloudflare Turnstile impone requisitos estrictos sobre la integridad del entorno. Cualquier discrepancia en las huellas digitales de JS, API o TLS conduce a una menor confianza y a una escalada del nivel de verificación.

hCaptcha se basa más en tareas visuales, lo que la hace relativamente más susceptible al reconocimiento automatizado a través de modelos modernos de visión por computadora.

Trabajar con captchas hoy en día requiere comprender los principios de los sistemas antibot modernos y la capacidad de gestionar la huella digital en cada etapa de interacción.

Mantente al día de las últimas noticias sobre Octo Browser

Al hacer clic en el botón, aceptas nuestra Política de privacidad.

Mantente al día de las últimas noticias sobre Octo Browser

Al hacer clic en el botón, aceptas nuestra Política de privacidad.

Mantente al día de las últimas noticias sobre Octo Browser

Al hacer clic en el botón, aceptas nuestra Política de privacidad.

Únete a Octo Browser ahora

O contacta al servicio al cliente en cualquier momento si tienes alguna pregunta.

Únete a Octo Browser ahora

O contacta al servicio al cliente en cualquier momento si tienes alguna pregunta.

Únete a Octo Browser ahora

O contacta al servicio al cliente en cualquier momento si tienes alguna pregunta.

©

2026

Octo Browser

©

2026

Octo Browser

©

2026

Octo Browser