申請流程
要使用 Recaptcha2 協議識別 API,首先到 Ace Data Cloud 控制台 獲取您的 API Token,留作備用。
如果你尚未登錄或註冊,會自動跳轉到登錄頁面邀請你註冊和登錄,完成後會自動返回當前頁面。
一個 API Token 即可調用平台所有服務,無需為每個服務單獨申請。 首次申請會贈送免費額度,可免費體驗;額度不足時可在 控制台 充值通用餘額。
📘 完整文檔:Recaptcha2 協議識別 API →
基本使用
首先先了解下基本的使用方式,就是輸入需要處理驗證碼的網站URL,便可獲得處理後的結果,首先需要簡單地傳遞一個website_url 字段,我們的示例網站是:https://www.google.com/recaptcha/api2/demo,我們需要在 website_url 頁面中獲取 website_key,首先需要打開這個網頁,按F12進入控制台,最後在Element頁面進行全局搜索 recaptcha-demo,我們可以得到下面的結果:

data-sitekey 對應的一串字符串便是 website_key的值,下面是具體的參數結果:

accept:想要接收怎樣格式的響應結果,這裡填寫為application/json,即 JSON 格式。authorization:調用 API 的密鑰,申請之後可以直接下拉選擇。
website_url:需要處理驗證碼的網站URL。website_key:在Recaptcha2中的網站密鑰標識符。proxy:可選,自帶代理(Bring Your Own Proxy)。設置後上游會通過你提供的代理 IP 去解驗證碼,用於控制出口 IP 質量(例如避免因公共代理 IP 被目標站點攔截而返回410 Gone)。格式為scheme://[user:pass@]host:port,scheme支持http/https/socks4/socks5,例如http://user:pass@1.2.3.4:8080。不填則使用平台默認代理。

token,此次 Recaptcha2驗證碼任務處理後驗證結果。started_at、finished_at:本次請求開始處理與產出結果的時間,Unix 時間戳(秒,浮點)。elapsed:本次處理的總耗時(秒)。
- 先人工通過驗證,具體的如下圖:

- 再點擊submit,觀看控制台的network變化,具體的如下圖:

- 分析此次提交的POST請求構造,最後可以右鍵該請求複製CURL的代碼,具體的如下圖:

https://www.google.com/recaptcha/api2/demo,我們僅需要提交參數 g-recaptcha-response,然後我們只需要將處理後的token傳入下面的data中即可,調用token進行驗證的具體的CURL代碼如下:

非同步模式(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:
/captcha/tasks 對所有驗證碼接口(token 與 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.

