Skip to content
On this page
Home
>Tarea (Token)
>HCaptcha

HCaptcha: resolviendo HCaptcha

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

el método getTaskResult.

Ahora cumplimos con los requisitos de casi todos los sitios web de alta puntuación y también admitimos invisible, dibuja un cuadro

y otros tipos de preguntas

Los tipos de tareas types que admitimos son:

  • HCaptchaTask este tipo de tarea requiere tus propios proxies
  • HCaptchaTaskProxyLess utiliza el proxy incorporado del servidor

Anuncio de la inestabilidad del servicio de hCaptcha

Pedimos disculpas por la reciente inestabilidad del servicio de hCaptcha causada por actualizaciones de imágenes y otros problemas. Lamentamos profundamente cualquier inconveniente causado. Si encuentras nuevas imágenes que impidan el uso del servicio, por favor espera a que las actualicemos. Para cualquier otra pregunta, no dudes en contactarnos en cualquier momento.

Si recibes una respuesta no válida utilizando HCaptchaTask, contáctanos

ya que cada sitio web tiene algunas configuraciones específicas y generalmente funciona correctamente después de que las configuramos.

Para garantizar la tasa de éxito de los tokens, utiliza un userAgent fijo

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 (las actualizaciones pueden ocurrir en cualquier momento, tenlo en cuenta).

Crear Tarea

Crea una tarea con el createTask para crear una tarea.

Estructura del objeto de tarea

PropiedadesTipoRequeridoDescripción
typeStringRequiredHCaptchaTask
HCaptchaTaskProxyLess
websiteURLStringRequiredDirección web del sitio web que utiliza hcaptcha, generalmente es un valor fijo. (Ejemplo: https://google.com)
websiteKeyStringRequiredLa clave pública de dominio, raramente actualizada. (Ejemplo: b989d9e8-0d14-41sda0-870f-97b5283ba67d)
isInvisibleBooleanOptionalEstablece true si es un captcha invisible
proxyStringOptionalAprende Cómo usar proxies
enterprisePayloadObjectOptionalDatos personalizados que se utilizan en algunas implementaciones de hCaptcha Enterprise.
Entonces debes poner true en el parámetro isEnterprise. En la mayoría de los casos, lo verás como rqdata dentro de las solicitudes de red.
IMPORTANTE: DEBES proporcionar un userAgent si envías el captcha con el parámetro data.
El valor debe coincidir con el User-Agent que utilizas al interactuar con el sitio web de destino
getCaptchaObjectOptionalsi obtienes una respuesta no válida, puedes probar con este parámetro, puedes aprender más en Solve HCaptcha
userAgentStringOptionalUser-Agent del navegador que se utiliza en la emulación. Es necesario que utilices una firma de un navegador moderno, de lo contrario Google te pedirá que "actualices tu navegador".

Ejemplo de solicitud

txt
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
json
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    //Requerido. Puede usar HCaptchaTaskProxyless o HCaptchaTask
    "type": "HCaptchaTaskProxyLess",
    //Requerido
    "websiteURL": "",
    // Requerido
    "websiteKey": "00000000-0000-0000-0000-000000000000",
    // Opcional
    "isInvisible": true,
    // Opcional
    "enterprisePayload": {
      //Opcional, requerido si el sitio tiene HCaptcha Enterprise
      "rqdata": ""
    },
    //Opcional, esto es requerido si usas HCaptchaTask
    "proxy": "http:ip:port:user:pass",
    // socks5:ip:port:user:pass
    //Opcional
    "getCaptcha": "fetch request base64 content",
    "userAgent": ""
  }
}

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

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

Obteniendo Resultados

Utiliza el método getTaskResult para obtener los resultados de reconocimiento

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

Ejemplo de solicitud

json
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

json
{
  "errorId": 0,
  "errorCode": null,
  "errorDescription": null,
  "solution": {
    //User-Agent utilizado para resolver el captcha
    "userAgent": "xxx",
    //Tiempo de vencimiento del token
    "expireTime": 1671615324290,
    "timestamp": 1671615024290,
    "captchaKey": "E0_xxx",
    //Token del captcha
    "gRecaptchaResponse": "3AHJ....."
  },
  "status": "ready"
}

Uso de la Solicitud de SDK

python
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'

import capsolver

# capsolver.api_key = "..."
solution = capsolver.solve({
    "type": "HCaptchaTaskProxyLess",
    "websiteURL": "",
    "websiteKey": "00000000-0000-0000-0000-000000000000",
})
go
package main

import (
	"fmt"
	capsolver_go "github.com/capsolver/capsolver-go"
	"log"
)

func main() {
	// primero debes instalar el SDK
	//go get github.com/capsolver/capsolver-go
	//export CAPSOLVER_API_KEY='...' o
	//capSolver := CapSolver{ApiKey:"..."}

	capSolver := capsolver_go.CapSolver{}
	solution, err := capSolver.Solve(map[string]any{
		"type":       "HCaptchaTaskProxyLess",
		"websiteURL": "",
		"websiteKey": "00000000-0000-0000-0000-000000000000",
	})
	if err != nil {
		log.Fatal(err)
		return
	}
	fmt.Println(solution)
}