Guía
Tarea (Token)
reCAPTCHA v3

ReCaptchaV3: resolviendo reCAPTCHA v3

TIP

Crea la tarea con el método createTask y obtén el resultado con el método getTaskResult.

Los tipos de tareas types que admitimos son:

  • ReCaptchaV3Task este tipo de tarea requiere tus propios proxies.
  • ReCaptchaV3EnterpriseTask este tipo de tarea requiere tus propios proxies.
  • ReCaptchaV3TaskProxyLess utiliza el proxy incorporado en el servidor.
  • ReCaptchaV3EnterpriseTaskProxyLess utiliza el proxy incorporado en el servidor.

Crear Tarea

Crea una tarea de reconocimiento con el método createTask.

Antes de crear una tarea, puedes aprender lo siguiente:

Si recibes una respuesta no válida, puedes aprender lo siguiente:

Estructura del Objeto de Tarea

PropiedadesTipoRequeridoDescripción
typeStringRequiredReCaptchaV3Task
ReCaptchaV3TaskProxyLess
ReCaptchaV3EnterpriseTask
ReCaptchaV3EnterpriseTaskProxyLess
websiteURLStringRequiredDirección web del sitio web que utiliza generalmente es un valor fijo. (Ejemplo: https://google.com)
websiteKeyStringRequiredLa clave pública de dominio, raramente actualizada. (Ejemplo: b989d9e8-0d14-41sda0-870f-97b5283ba67d)
proxyStringOptionalAprende Cómo usar proxies
pageActionStringOptionalPara sitios v2: pase el parámetro sa si está disponible en la solicitud anchor.
Para sitios v3: busque grecaptcha.execute para encontrar el parámetro action.
enterprisePayloadObjectOptionalPara la versión empresarial, busque grecaptcha.enterprise.render y pase el parámetro s
isSessionBoolOptionalEl modo de sesión, al estar habilitado, devolverá un valor recaptcha-ca-t, que se usa como cookie y suele aparecer en la versión 3.

Nota: Algunos sitios web requieren un valor recaptcha-ca-e, que suele aparecer en la versión 2. Si existe dicho valor, se devolverá automáticamente; no se requieren otros ajustes.
apiDomainStringOptionalEl nombre de dominio para cargar el código de verificación. Normalmente, no es necesario pasar este parámetro.
http://www.google.com/
http://www.recaptcha.net/
WARNING

Si no está seguro de cómo pasar los parámetros, consulte nuestro blog para usar la extensión capsolver para obtener automáticamente los parámetros.

Si descubre que el puntaje de token que obtiene es bajo, envíe los datos json obtenidos por la extensión al servicio de atención al cliente para su optimización.

Ejemplo de Solicitud

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ReCaptchaV3Task",
    "websiteURL": "https://www.google.com/recaptcha/api2/demo",
    "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
    "enterprisePayload": {
      "s": "SOME_ADDITIONAL_TOKEN" // Optional
    },
    "pageAction": "submit", // Optional
    "apiDomain": "", // Optional
    "proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass, Optional
  }
}

Después de enviar la tarea a nosotros, deberías recibir en la respuesta un ‘ID de tarea’ si es exitoso. Por favor, lee errorCode: lista completa de errores si no recibiste el ID de tarea.

Ejemplo de Respuesta

{
    "errorId": 0,
    "errorCode": "",
    "errorDescription": "",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" 
}

Obtener Resultados

Después de obtener el taskId, debes enviar el taskId para recuperar la solución. La estructura de la respuesta se explica en

getTaskResult.

Dependiendo de la carga del sistema, obtendrás los resultados dentro del intervalo de 1s a 10s

Ejemplo de Solicitud

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
 
{
    "clientKey": "YOUR_API_KEY",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Ejemplo de Respuesta

{
    "errorId": 0,
    "errorCode": null,
    "errorDescription": null,
    "solution": {
        "userAgent": "xxx", // User-Agent
        "createTime": 1671615324290, // Tiempo de generación del token
        "gRecaptchaResponse": "3AHJ......", // Token de respuesta
        "recaptcha-ca-t": "AbEM......", // Algunos sitios web v3 tienen modo de sesión. Tras habilitar isSession, este parámetro se devolverá y se usará como cookie.
        "recaptcha-ca-e": "Abp_......" // Algunos sitios web v2 tienen este parámetro, que se utiliza como cookie. Si existe dicho valor, se devolverá automáticamente.
    },
    "status": "ready"
}

Uso de Solicitud de SDK

# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
 
import capsolver
 
# capsolver.api_key = "..."
solución = capsolver.solve({
    "type": "ReCaptchaV3TaskProxyLess",
    "websiteURL": "https://www.google.com/recaptcha/api2/demo",
    "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-", ...
})