Skip to main content
Questo documento presenterà una guida all’integrazione dell’API di riconoscimento del protocollo hCaptcha, che consente agli utenti di completare la verifica senza dover riconoscere e selezionare le immagini del captcha hCaptcha, ma semplicemente inviando la Website Key per ottenere la decodifica automatica in background.

Processo di richiesta

Per utilizzare l’API di riconoscimento del protocollo hCaptcha, prima di tutto vai al Pannello di controllo di Ace Data Cloud per ottenere il tuo API Token, da conservare per uso futuro. Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di accesso che ti invita a registrarti e accedere; una volta completato, verrai riportato automaticamente alla pagina corrente. Un API Token è sufficiente per accedere a tutti i servizi della piattaforma, senza dover richiedere separatamente per ogni servizio. La prima richiesta include un credito gratuito, che consente di provare senza costi; quando il credito è insufficiente, puoi ricaricare il saldo generale nel pannello di controllo.
📘 Documentazione completa: hCaptcha Protocol Recognition API →

Utilizzo di base

Iniziamo a comprendere il modo di utilizzo di base, che consiste nell’inserire l’URL del sito web che deve elaborare il captcha hCaptcha, per ottenere il risultato elaborato. Prima di tutto, è necessario passare un campo website_url, il nostro sito di esempio è: https://accounts.hcaptcha.com/demo, dobbiamo ottenere il website_key dalla pagina website_url, per farlo, apri questa pagina, premi F12 per accedere alla console e infine cerca globalmente hcaptcha-demo nella pagina Element, otterremo il seguente risultato:

La stringa corrispondente a data-sitekey è il valore di website_key, di seguito sono riportati i risultati specifici dei parametri:

Possiamo vedere che qui abbiamo impostato le intestazioni della richiesta, tra cui:
  • accept: il formato della risposta che desideri ricevere, qui è impostato su application/json, ovvero formato JSON.
  • authorization: la chiave per chiamare l’API, che può essere selezionata direttamente dopo la richiesta.
Inoltre, abbiamo impostato il corpo della richiesta, che include:
  • website_url: l’URL del sito web che deve elaborare il captcha.
  • website_key: l’identificatore della chiave del sito in hCaptcha.
Dopo aver selezionato, possiamo notare che a destra è stato generato il codice corrispondente, come mostrato nell’immagine:

Cliccando sul pulsante “Try” è possibile effettuare un test, come mostrato nell’immagine sopra, qui abbiamo ottenuto il seguente risultato:
可以看到我们得到了处理 hCaptcha验证码 的验证结果,然后我们可以用于POST或模拟提交给目标网站,一次性使用,有效期120s,建议在60s内使用,接下来将提供一段CURL版本将处理后token提交到目标网站来通过Recaptcha2验证码。 首先我们需要获取网站是如何发送POST请求,这样我们才能将生成的token传入进去,我们需要先打开F12控制台,然后人工先通过一下,最后我们可以看到网站发送了一个POST请求,我们只需要查看这次的POST请求构造,具体的过程如下:
  • 先人工通过验证,具体的如下图:

  • 再点击submit,观看控制台的network变化,具体的如下图:

  • 分析此次提交的POST请求构造,最后可以右键该请求复制CURL的代码,具体的如下图:

由上图分析可知,此次POST请求的URL为:https://accounts.hcaptcha.com/demo,我们仅需要提交参数 g-recaptcha-responseh-captcha-responseemail,然后我们只需要将处理后的token传入下面的data中即可,调用token验证所对应CURL代码如下:
调用token验证所对应的Python代码如下:
然后我们观察控制台变得了这样的结果:

最后我们就通过了hCaptcha验证码的验证。 另外如果想生成对应的对接代码,可以直接复制生成,例如 CURL 的代码如下:
Python 的对接代码如下:

异步模式(async)

默认情况下 API 是同步阻塞的:一次请求会一直等待,直到 token 处理完成才返回。如果你在做多打码器轮换(multi-solver rotation),希望「提交任务后立即拿到 task_id,先去调度其他打码器,稍后再回来取结果」,可以在请求体中传入 async: true 传入 async: true 后,接口会立即返回一个 task_id,而不会阻塞等待:
随后使用该 task_id 轮询 POST /captcha/tasks(建议每 3~5 秒一次)来获取结果:
处理中会返回 status: processing
处理完成会返回 status: ready 和 token:
计费说明:异步模式下,创建任务与轮询「处理中」都不计费;仅在成功取到 token 时计费一次(与同步模式的价格一致)。因此在轮换中取消尚未完成的任务不会产生费用。/captcha/tasks 对所有验证码接口(token 与 recognition 系列,如 hcaptcha、recaptcha2、recaptcha3、recognition/* 等)通用,用同一个 task_id 轮询即可。

错误处理

在调用 API 时,如果遇到错误,API 会返回相应的错误代码和信息。例如:
  • 400 token_mismatched:Bad request, possibly due to missing or invalid parameters.
  • 400 api_not_implemented:Bad request, possibly due to missing or invalid parameters.
  • 401 invalid_token:Unauthorized, invalid or missing authorization token.
  • 429 too_many_requests:Too many requests, you have exceeded the rate limit.
  • 500 api_error:Internal server error, something went wrong on the server.

错误响应示例

结论

通过本文档,您已经了解了如何使用 hCaptcha 协议识别 API 让用户无需识别和点选 hCaptcha 验证码图片,仅需通过提交 Website Key 即可实现后台自动解码,完成验证。希望本文档能帮助您更好地对接和使用该 API。如有任何问题,请随时联系我们的技术支持团队。