ReCaptchaV3: resolviendo reCAPTCHA v3
Cree la tarea con el método createTask y obtenga el resultado con el método getTaskResult.
Los types de tareas que admitimos:
ReCaptchaV3Taskeste tipo de tarea requiere sus propios proxies.ReCaptchaV3EnterpriseTaskeste tipo de tarea requiere sus propios proxies.ReCaptchaV3TaskProxyLessestá utilizando el proxy integrado del servidor.ReCaptchaV3EnterpriseTaskProxyLessestá utilizando el proxy integrado del servidor.
Crear Tarea
Cree una tarea con el método createTask.
Antes de crear una tarea, si necesita usar tokens en herramientas de automatización como playwright y puppeteer, es posible que deba encontrar sus funciones de callback. Referencia:
Estructura del Objeto Tarea
Si no sabe cómo configurar los parámetros, utilice la Extensión de CapSolver para obtener automáticamente los parámetros requeridos.
- Artículo de referencia: How to detect any Captcha and extract its parameters
Si encuentra que el token v3 no es válido, use la Extensión de CapSolver para obtener la configuración JSON y envíela a nuestro servicio al cliente para su configuración. Después de la configuración, mejorará en gran medida la puntuación del token.
- Artículo de referencia: How to solve reCAPTCHA v2, invisible v2, v3, v3 Enterprise ≥0.9 score)
| Propiedades | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| type | String | Obligatorio | ReCaptchaV3TaskReCaptchaV3TaskProxyLessReCaptchaV3EnterpriseTaskReCaptchaV3EnterpriseTaskProxyLess |
| websiteURL | String | Obligatorio | La dirección del sitio web con recaptcha. |
| websiteKey | String | Obligatorio | Clave del sitio web de Recaptcha. |
| proxy | String | Opcional | Aprenda Usando proxies. |
| pageAction | String | Opcional | Para ReCaptchaV3: Puede encontrar el valor del parámetro de acción buscando grecaptcha.execute |
| enterprisePayload | Object | Opcional | Para la versión empresarial, busque grecaptcha.enterprise.render y pase el parámetro s. |
| isSession | Bool | Opcional | Modo de sesión, cuando está habilitado, devolverá un valor recaptcha-ca-t, que se utiliza como cookie. Generalmente aparece en v3.Nota: Algunos sitios web requieren un valor recaptcha-ca-e, que generalmente aparece en v2. Si este valor está presente, se devolverá automáticamente sin ninguna configuración de parámetro adicional. |
| apiDomain | String | Opcional | El nombre de dominio para cargar el captcha. Por lo general, este parámetro no necesita ser pasado. • http://www.google.com/ • http://www.recaptcha.net/ |
Ejemplo de Solicitud
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaV2Task",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"enterprisePayload": {
"s": "SOME_ADDITIONAL_TOKEN" // Optional
},
"isInvisible": false, // Optional
"pageAction": "submit", // Optional
"apiDomain": "", // Optional
"proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass, Optional
}
}Después de enviarnos la tarea, debería recibir un ‘taskId’ en la respuesta si es exitoso. Lea errorCode: lista completa de errores si no recibió el ID de la tarea.
Ejemplo de Respuesta
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}Obteniendo Resultados
Después de tener el taskId, debe enviar el taskId para recuperar la solución. La estructura de la respuesta se explica en getTaskResult.
Dependiendo de la carga del sistema, obtendrá los resultados en un 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
"secChUa": "xxx", // Sec-Ch-Ua
"createTime": 1671615324290, // The creation time of the token
"gRecaptchaResponse": "3AHJ......", // token
"recaptcha-ca-t": "AbEM......", // Some v3 websites have session mode. After enabling isSession, this parameter will be returned and used as a cookie.
"recaptcha-ca-e": "Abp_......" // Some v2 websites have this parameter, which is used as a cookie. If there is such a value, it will be automatically returned.
},
"status": "ready"
}Usar Solicitud SDK
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": "https://www.google.com",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-",
"pageAction": "login",
})Código de Ejemplo
# pip install requests
import requests
import time
# TODO: set your config
api_key = "YOUR_API_KEY" # your api key of capsolver
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-" # site key of your target site
site_url = "https://www.google.com" # page url of your target site
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV3TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url,
"pageAction": "login",
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Failed to create task:", res.text)
return
print(f"Got taskId: {task_id} / Getting result...")
while True:
time.sleep(1) # delay
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
token = capsolver()
print(token)