Scarnox · Blog

Captcha de GeeTest explicado: cómo funciona y cómo resolverlo

GeeTest es un proveedor de captcha cuyos widgets piden al visitante una tarea visual: arrastrar una pieza de puzzle hasta un hueco, pulsar un conjunto de iconos en un orden determinado o seguir un breve movimiento de deslizador. Es habitual en tiendas online, páginas de inicio de sesión y backends de apps en muchas regiones. También es una de las familias de captcha que Scarnox todavía no resuelve. Esta guía explica cómo funciona GeeTest, por qué automatizarlo es más difícil que un widget basado en tokens, qué enfoques se usan en general y el estado actual del soporte de Scarnox.

Qué hace GeeTest en una página

Un captcha de GeeTest suele cargarse en tres pasos:

  1. La página incluye el script de GeeTest y crea un widget con un ID de captcha. En muchas integraciones ese ID se pasa como un parámetro llamado gt.
  2. El widget pide al servidor de GeeTest un desafío nuevo. El desafío incluye un valor challenge y las imágenes o posiciones de las piezas necesarias para el puzzle.
  3. Cuando el visitante termina la tarea, el widget envía el resultado al sitio. El backend del sitio verifica entonces ese resultado con el proveedor antes de aceptar el formulario.

El tercer paso es el importante. Un valor con aspecto plausible no basta, porque el servidor comprueba un resultado vinculado a un desafío concreto que caduca. Por eso un valor copiado de otra sesión falla, y por eso reproducir un resultado antiguo no funciona.

Por qué GeeTest es más difícil que un widget de token

Con PopularCaptcha, la página necesita una única cadena de token, y una sola petición devuelve esa cadena. GeeTest difiere en tres aspectos:

Por eso, resolver GeeTest es un trabajo de varios pasos: obtener el desafío, localizar los objetivos en la imagen, generar un movimiento, enviarlo y leer el veredicto. Cada paso puede fallar, y el desafío caduca si esperas demasiado entre pasos.

Enfoques generales

Quienes automatizan páginas de GeeTest suelen usar uno de tres enfoques. Ninguno es un atajo, y cada uno tiene costes:

Sea cual sea tu elección, mantén el alcance honesto: automatiza flujos que controlas, entornos de prueba que tienes permiso para usar o datos públicos que tienes permiso para recopilar.

Cómo encontrar el ID del captcha

No necesitas código para empezar. Abre las DevTools, recarga la página y busca geetest o gt en la pestaña Network. La primera petición que carga el widget suele mostrar el ID del captcha. Un pequeño script puede registrarlo, lo que resulta útil cuando quieres saber que una página ha cambiado su widget:

import re
import requests

html = requests.get("https://example.com/login", timeout=30).text
match = re.search(r"gt['\"]?\s*[:=]\s*['\"]([a-f0-9]{32})['\"]", html)
print("captcha id:", match.group(1) if match else "not found")

El patrón anterior busca un valor hexadecimal de 32 caracteres junto a gt. Los proveedores cambian su marcado, así que tómalo como punto de partida y compara el resultado con la página que estás probando.

Estado del soporte en Scarnox

Sé claro sobre esto cuando planifiques un proyecto:

Si tu proyecto necesita GeeTest ahora, la vía práctica es construir tú mismo los pasos de navegador e imagen para las páginas que tienes permiso para probar, y dejar tu código listo para cambiar a una API cuando el soporte se publique. Mientras tanto, puedes crear una cuenta y empezar con crédito de prueba gratis, sin tarjeta. Así tendrás un flujo de PopularCaptcha funcionando para probar y un lugar donde conectar GeeTest más adelante. Para las tarifas actuales, consulta los precios actuales.

Usos legítimos

No uses la automatización de captchas para crear cuentas falsas, atacar un formulario de inicio de sesión o acaparar stock limitado. Esos usos incumplen las normas de la mayoría de los sitios y no son algo que Scarnox admita.

Próximos pasos