Resuelve reCAPTCHA v3 estándar con la API

Por solvethree3 min de lectura

Para reCAPTCHA v3 estándar, establece recaptchaType en v3 en el cuerpo de la tarea. Para reCAPTCHA Enterprise v3, usa enterprise-v3, que también es el valor predeterminado cuando omites el campo.

En esta página

Prepara el perfil, el nombre de host, la acción y el proxy

La versión v3 estándar también requiere un perfil de sitio activo disponible en tu espacio de trabajo. Configura el sitio de destino en la consola antes de crear una tarea; enviar un nombre de host y una acción no crea el perfil.

  • site: el nombre de host de destino, como accounts.example.com, no la URL completa de una página.
  • action: la acción que utiliza la integración de reCAPTCHA del destino. Sustituye el valor login del ejemplo si el destino utiliza otro. Consulta cómo encontrar la acción.
  • proxy o proxyCandidates: proporciona exactamente uno de los dos. El ejemplo usa un único proxy. Si usas candidatos en su lugar, la lista admite como máximo doce URL distintas de proxies HTTP o HTTPS, sin ruta, consulta ni fragmento.

Envía la tarea de v3 estándar

Envía este cuerpo JSON a POST https://api.solvethree.com/v1/tasks. Autentícate con una clave de API del espacio de trabajo en la cabecera Authorization mediante el esquema Bearer. Mantén la clave en tu servidor.

v3 estándar · cuerpo de la tarea
{
  "site": "accounts.example.com",
  "action": "login",
  "recaptchaType": "v3",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "v3-login-001"
}

recaptchaType va en el nivel superior, junto a site, action y proxy. No añadas un campo type ni url para reCAPTCHA.

Sustituye el nombre de host, la acción y el proxy del ejemplo por los valores de tu destino. Usa un requestId nuevo para cada nueva resolución lógica. Si la creación agota el tiempo de espera, vuelve a enviar el mismo cuerpo de tarea con el mismo ID para recuperar la tarea existente en lugar de crear otra. Reutilizar ese ID con datos de entrada distintos genera un conflicto.

Espera a que esté listo y envía el token

  1. 1.

    Comprueba primero la respuesta HTTP

    Gestiona las respuestas HTTP que no indiquen éxito antes de leer el cuerpo como resultado de una tarea. Comprueba el estado y corrige el error de solicitud indicado.

  2. 2.

    Consulta la tarea hasta que finalice

    La creación espera hasta 15 segundos de forma predeterminada; añade un margen al tiempo de espera de tu cliente para la sobrecarga de red. Si el estado es pending o solving, recupera la tarea con GET /v1/tasks/:id. Las consultas GET no esperan de forma predeterminada; para consultas de larga espera, pasa waitMs con un valor de hasta 15000 como parámetro de consulta de la URL, no como campo JSON. Deja de consultar cuando el estado sea ready o failed. Para failed, examina errorCode y error antes de decidir si tiene sentido volver a intentarlo.

  3. 3.

    Usa la solución lista

    Envía solution.token al destino previsto, no el ID de la tarea. Usa los valores devueltos userAgent y secChUa, junto con el proxy que funcionó. No cambies de IP ni sustituyas la identidad de navegador por otra ajena entre la resolución y el envío.

Que un token esté listo no demuestra que tenga una puntuación de reCAPTCHA concreta ni que el destino lo haya aceptado. reCAPTCHA v3 genera una puntuación de riesgo y una acción que el destino evalúa en su backend; comprueba la respuesta del destino a la solicitud que envía el token.

Ejecuta tu primera tarea.

Empieza con $5 de crédito en tu espacio de trabajo.

Crear un espacio de trabajo
Resuelve reCAPTCHA v3 estándar con la API · solvethree