Saltar al contenido principal
Este documento presentará una descripción de la API de reconocimiento de imágenes hCaptcha, que puede identificar el contenido ingresado por el usuario y la imagen del captcha hCaptcha, y finalmente devolver las coordenadas de la pequeña imagen que necesita ser clicada para completar la verificación.

Proceso de solicitud

Para usar la API, primero debe ir a la página correspondiente de la API de reconocimiento de imágenes hCaptcha para solicitar el servicio correspondiente. Una vez en la página, haga clic en el botón “Acquire”, como se muestra en la imagen: Si aún no ha iniciado sesión o registrado, será redirigido automáticamente a la página de inicio de sesión que lo invita a registrarse e iniciar sesión. Después de registrarse e iniciar sesión, será redirigido automáticamente a la página actual. En la primera solicitud, se le otorgará un crédito gratuito, lo que le permitirá usar la API de forma gratuita.

Uso básico

Primero, comprenda la forma básica de uso, que consiste en ingresar la imagen del captcha hCaptcha que necesita ser procesada para obtener el resultado procesado. Primero, debe pasar un campo queries, que es la imagen del captcha hCaptcha específica. Necesitamos capturar esta imagen del captcha en un sitio web que tenga captcha hCaptcha; el enlace del sitio de ejemplo es: https://democaptcha.com/demo-form-eng/hcaptcha.html, haga clic en la casilla de verificación para mostrar la imagen completa del captcha, como se muestra en la imagen a continuación:

El campo queries es la captura de pantalla de la imagen del captcha mencionada anteriormente. Se sugiere que el tamaño de la imagen no supere los 100 kb. También debe capturar la región señalada por la flecha roja en la imagen anterior, y debe comprimir el tamaño de la imagen y convertirla a codificación Base64, como se muestra en la imagen a continuación:

Además, debe ingresar el parámetro de contenido de reconocimiento relacionado con la imagen del captcha question, que admite traducción en chino e inglés. Puede ingresar directamente el contenido relacionado con el reconocimiento. Según el contenido ejecutado por la flecha amarilla en la imagen de la página web anterior, el question que debe ingresarse es Please click on the UNIQUE object among the others.. El contenido específico es el siguiente:

Aquí podemos ver que hemos configurado los encabezados de la solicitud, que incluyen:
  • accept: el formato de respuesta que desea recibir, aquí se llena como application/json, es decir, formato JSON.
  • authorization: la clave para llamar a la API, que puede seleccionarse directamente después de la solicitud.
Además, se configuró el cuerpo de la solicitud, que incluye:
  • queries: lista de imágenes del captcha codificadas en Base64.
  • question: parámetro de contenido de reconocimiento relacionado con la imagen del captcha, que admite la entrada directa en chino e inglés.
Después de seleccionar, puede notar que también se generó el código correspondiente a la derecha, como se muestra en la imagen:

Haga clic en el botón “Try” para realizar la prueba, como se muestra en la imagen anterior, y aquí obtuvimos el siguiente resultado:
{
  "solution": {
    "label": "Please click on the UNIQUE object among the others",
    "box": [
      "360",
      "276"
    ],
    "confidences": 0.6354503631591797
  }
}
El resultado devuelto tiene varios campos, que se describen a continuación:
  • solution, el resultado de la verificación después de procesar la imagen del captcha hCaptcha.
    • label, el contenido reconocido de la imagen del captcha hCaptcha.
    • box, la información de ubicación del resultado del reconocimiento de la imagen del captcha hCaptcha, que está compuesta por la información de coordenadas de la imagen.
    • confidences, la confianza de que el contenido reconocido se cumple después del reconocimiento de la imagen del captcha hCaptcha.
Podemos ver que hemos obtenido el resultado de la verificación de la imagen del captcha hCaptcha. Solo necesitamos simular un clic en el área correspondiente de la imagen del captcha según la información de coordenadas de la posición box en el resultado para pasar la verificación. A continuación, se explicará cómo hacer clic en la información de ubicación del box del resultado. Primero, se establece un sistema de coordenadas rectangulares para la imagen del captcha cargada, donde el origen central está en la esquina inferior izquierda de la imagen, 360 es la coordenada horizontal correspondiente y 276 es la coordenada vertical correspondiente. Solo necesitamos simular un clic en las coordenadas correspondientes del captcha, como se muestra en la imagen a continuación:

Además, si desea generar el código de integración correspondiente, puede copiarlo directamente, por ejemplo, el código de CURL es el siguiente:
curl -X POST 'https://api.acedata.cloud/captcha/recognition/hcaptcha' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "question": "Please click on the UNIQUE object among the others.",
  "queries": ["iVBORw0KGgoAAAANSU.....eY+85KVlzKHav28uq/WLVhL2kHUlFMKUcZbL31S8bpd0pEPKxNllXAE2wgu3uEfj+BfAzOGelsQNFAAAAAElFTkSuQmCC"]
}'
El código de integración en Python es el siguiente:
import requests

url = "https://api.acedata.cloud/captcha/recognition/hcaptcha"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "question": "Please click on the UNIQUE object among the others.",
    "queries": ["iVBORw0KGgoAAAANSU.....eY+85KVlzKHav28uq/WLVhL2kHUlFMKUcZbL31S8bpd0pEPKxNllXAE2wgu3uEfj+BfAzOGelsQNFAAAAAElFTkSuQmCC"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Manejo de errores

Al llamar a la API, si se encuentra con un error, la API devolverá el código de error y la información correspondiente. Por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente debido a 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 superado el límite de tasa.
  • 500 api_error: Error interno del servidor, algo salió mal en el servidor.

Ejemplo de respuesta de error

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusión

A través de este documento, ha aprendido cómo usar la API de reconocimiento de imágenes hCaptcha para que los usuarios ingresen el contenido reconocido y la imagen del captcha hCaptcha, y finalmente devuelvan las coordenadas de la pequeña imagen que necesita ser clicada para completar la verificación. Esperamos que este documento le ayude a integrar y utilizar mejor esta API. Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de soporte técnico.