Processo di richiesta
Per utilizzare l’API, è necessario prima andare alla pagina corrispondente dell’API di riconoscimento del protocollo hCaptcha per richiedere il servizio corrispondente. Una volta entrati nella pagina, fare clic sul pulsante “Acquire”, come mostrato nell’immagine:
Se non si è ancora effettuato il login o la registrazione, si verrà automaticamente reindirizzati alla pagina di accesso che invita a registrarsi e accedere. Dopo aver effettuato il login o la registrazione, si verrà riportati automaticamente alla pagina corrente.
Alla prima richiesta, verrà offerto un credito gratuito, che consente di utilizzare gratuitamente questa API.
Utilizzo di base
Innanzitutto, è importante 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. È necessario semplicemente trasmettere un campowebsite_url. Il nostro sito di esempio è: https://accounts.hcaptcha.com/demo, dobbiamo ottenere il website_key dalla pagina website_url. Prima di tutto, aprire questa pagina, premere F12 per accedere alla console e infine cercare globalmente hcaptcha-demo nella pagina Element. Possiamo ottenere il seguente risultato:

data-sitekey è il valore di website_key. Di seguito sono riportati i risultati specifici dei parametri:

accept: il formato della risposta desiderata, qui è impostato suapplication/json, ovvero formato JSON.authorization: la chiave per chiamare l’API, che può essere selezionata direttamente dopo la richiesta.
website_url: l’URL del sito web che deve elaborare il captcha.website_key: l’identificatore della chiave del sito in hCaptcha.

- 先人工通过验证,具体的如下图:

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

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

https://accounts.hcaptcha.com/demo,我们仅需要提交参数 g-recaptcha-response、h-captcha-response 和 email,然后我们只需要将处理后的token传入下面的data中即可,调用token验证所对应CURL代码如下:

错误处理
在调用 API 时,如果遇到错误,API 会返回相应的错误代码和信息。例如:400 token_mismatched:Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.400 api_not_implemented:Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.401 invalid_token:Non autorizzato, token di autorizzazione non valido o mancante.429 too_many_requests:Troppe richieste, hai superato il limite di frequenza.500 api_error:Errore interno del server, qualcosa è andato storto sul server.

