Skip to main content
Este documento presentará una integración del API de reconocimiento del protocolo Recaptcha2, que permite a los usuarios completar la verificación sin necesidad de identificar y seleccionar las imágenes del captcha de Recaptcha2, simplemente enviando la clave del sitio web para lograr la decodificación automática en segundo plano.

Proceso de Solicitud

Para utilizar el API de reconocimiento del protocolo Recaptcha2, primero dirígete a la consola de Ace Data Cloud para obtener tu Token API, que debes guardar como respaldo. Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invitará a registrarte e iniciar sesión, y una vez completado, regresarás automáticamente a la página actual. Un Token API es suficiente para acceder a todos los servicios de la plataforma, sin necesidad de solicitar uno por cada servicio. La primera solicitud incluirá un crédito gratuito para que puedas probarlo; si el crédito es insuficiente, puedes recargar el saldo general en la consola.
📘 Documentación completa: API de Reconocimiento del Protocolo Recaptcha2 →

Uso Básico

Primero, debes entender la forma básica de uso, que consiste en ingresar la URL del sitio web que necesita procesar el captcha, y así obtener el resultado procesado. Primero, necesitas pasar un campo website_url, nuestro sitio de ejemplo es: https://www.google.com/recaptcha/api2/demo, necesitamos obtener el website_key en la página website_url, primero abre esta página, presiona F12 para acceder a la consola, y luego realiza una búsqueda global en la página de Elementos por recaptcha-demo, así obtendremos el siguiente resultado:

Donde la cadena correspondiente a data-sitekey es el valor de website_key, a continuación se presentan los resultados de los parámetros específicos:

Aquí podemos ver que hemos configurado los Encabezados de Solicitud, que incluyen:
  • accept: el formato de respuesta que deseas recibir, aquí se establece como application/json, es decir, en formato JSON.
  • authorization: la clave para llamar al API, que puedes seleccionar directamente después de solicitarla.
Además, se configuró el Cuerpo de Solicitud, que incluye:
  • website_url: la URL del sitio web que necesita procesar el captcha.
  • website_key: el identificador de la clave del sitio en Recaptcha2.
  • proxy: opcional, trae tu propio proxy (Bring Your Own Proxy). Una vez configurado, el upstream utilizará la IP del proxy que proporcionaste para resolver el captcha, lo que ayuda a controlar la calidad de la IP de salida (por ejemplo, para evitar que la IP de un proxy público sea bloqueada por el sitio objetivo y devuelva 410 Gone). El formato es scheme://[user:pass@]host:port, donde scheme admite http/https/socks4/socks5, por ejemplo, http://user:pass@1.2.3.4:8080. Si no se completa, se utilizará el proxy predeterminado de la plataforma.
Después de seleccionar, puedes notar que también se generó el código correspondiente a la derecha, como se muestra en la imagen:

Haz clic en el botón “Try” para realizar la prueba, como se muestra en la imagen anterior, aquí obtuvimos el siguiente resultado:
Los resultados devueltos tienen varios campos, que se describen a continuación:
  • token, el resultado de la verificación después de procesar la tarea de Recaptcha2.
  • started_at, finished_at: el tiempo de inicio y finalización de esta solicitud, en marca de tiempo Unix (segundos, flotante).
  • elapsed: el tiempo total de procesamiento (segundos).
Se puede ver que hemos obtenido el resultado de la verificación del Recaptcha2, que luego podemos usar para enviar un POST o simular el envío al sitio web objetivo, de un solo uso, con una validez de 120 segundos, se recomienda usarlo dentro de los 60 segundos. A continuación, se proporcionará un fragmento de Python que enviará el token procesado al sitio web objetivo para pasar la verificación de Recaptcha2. Primero necesitamos averiguar cómo el sitio envía la solicitud POST, para poder pasar el token generado. Necesitamos abrir la consola F12 y luego realizar la verificación manualmente. Al final, podemos ver que el sitio envió una solicitud POST, solo necesitamos revisar la construcción de esta solicitud POST, el proceso específico es el siguiente:
  • Primero, verifique manualmente, como se muestra en la imagen a continuación:

  • Luego haga clic en enviar, observe los cambios en la red de la consola, como se muestra en la imagen a continuación:

  • Analice la construcción de la solicitud POST enviada esta vez, finalmente puede hacer clic derecho en esta solicitud para copiar el código CURL, como se muestra en la siguiente imagen:

Según el análisis de la imagen anterior, la URL de esta solicitud POST es: https://www.google.com/recaptcha/api2/demo, solo necesitamos enviar el parámetro g-recaptcha-response, luego solo necesitamos pasar el token procesado en los datos a continuación, el código CURL específico para llamar a la verificación del token es el siguiente:
El código Python correspondiente para llamar a la verificación del token es el siguiente:
Luego ejecutamos el código y observamos que la consola muestra el siguiente resultado:

Finalmente, hemos pasado la verificación del protocolo del captcha Recaptcha2. Además, si desea generar el código de integración correspondiente, puede copiarlo directamente, por ejemplo, el código CURL es el siguiente:
El código de integración en Python es el siguiente:

Modo asíncrono (async)

Por defecto, la API es síncrona y bloqueante: una solicitud esperará hasta que el token sea procesado para devolver la respuesta. Si está realizando rotación de múltiples solucionadores (multi-solver rotation) y desea “obtener inmediatamente el task_id después de enviar la tarea, para luego programar otros solucionadores y volver más tarde a obtener el resultado”, puede pasar async: true en el cuerpo de la solicitud. Al pasar async: true, la interfaz devolverá inmediatamente un task_id sin bloquear la espera:
Luego use este task_id para hacer polling con POST /captcha/tasks (se recomienda cada 3~5 segundos) para obtener el resultado:
Durante el procesamiento devolverá status: processing:
Al completarse devolverá status: ready y el token:
Explicación de facturación: en modo asíncrono, la creación de la tarea y el polling con estado “procesando” no se cobran; solo se cobra una vez al obtener el resultado exitosamente (igual precio que el modo síncrono). Por lo tanto, cancelar tareas no completadas durante la rotación no genera costos. /captcha/tasks es común para todas las interfaces de captcha (series token y recognition), puede usar el mismo task_id para hacer polling.

Manejo de errores

Al llamar a la API, si ocurre un error, la API devolverá el código y mensaje de error correspondiente. Por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente por parámetros faltantes o inválidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente por parámetros faltantes o inválidos.
  • 401 invalid_token: No autorizado, token de autorización inválido o faltante.
  • 429 too_many_requests: Demasiadas solicitudes, ha excedido el límite de tasa.
  • 500 api_error: Error interno del servidor, algo salió mal en el servidor.

Ejemplo de respuesta de error

Conclusión

Con este documento, ya ha aprendido cómo usar la API de reconocimiento del protocolo Recaptcha2 para que los usuarios no necesiten identificar ni hacer clic en la imagen del captcha Recaptcha2, solo enviando la Website Key puede realizar la decodificación automática en segundo plano y completar la verificación. Esperamos que este documento le ayude a integrar y usar mejor esta API. Si tiene alguna pregunta, no dude en contactar a nuestro equipo de soporte técnico.