Skip to main content
本文將介紹一種 Recaptcha2 協議識別 API 對接說明,它可讓用戶無需識別和點選 Recaptcha2 驗證碼圖片,僅需通過提交 Website Key 即可實現後台自動解碼,完成驗證。

申請流程

要使用 API,需要先到 Recaptcha2 協議識別 API 對應頁面申請對應的服務,進入頁面之後,點擊「Acquire」按鈕,如圖所示: 如果你尚未登入或註冊,會自動跳轉到登入頁面邀請您來註冊和登入,登入註冊之後會自動返回當前頁面。 在首次申請時會有免費額度贈送,可以免費使用該 API。

基本使用

首先先了解下基本的使用方式,就是輸入需要處理驗證碼的網站URL,便可獲得處理後的結果,首先需要簡單地傳遞一個 website_url 字段,我們的示例網站是:https://www.google.com/recaptcha/api2/demo,我們需要在 website_url頁面中獲取 website_key,首先需要打開這個網頁,按F12進入控制台,最後在Element頁面進行全局搜索 recaptcha-demo,我們可以得到下面的結果:

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

可以看到這裡我們設置了 Request Headers,包括:
  • accept:想要接收怎樣格式的響應結果,這裡填寫為 application/json,即 JSON 格式。
  • authorization:調用 API 的密鑰,申請之後可以直接下拉選擇。
另外設置了 Request Body,包括:
  • website_url:需要處理驗證碼的網站URL。
  • website_key:在Recaptcha2中的網站密鑰標識符。
選擇之後,可以發現右側也生成了對應代碼,如圖所示:

點擊「Try」按鈕即可進行測試,如上圖所示,這裡我們就得到了如下結果:
返回結果一共有多個字段,介紹如下:
  • token,此次 Recaptcha2驗證碼 任务處理後驗證結果。
可以看到我們得到了處理 Recaptcha2驗證碼 的驗證結果,然後我們可以用於POST或模擬提交給目標網站,一次性使用,有效期120秒,建議在60秒內使用,接下來將提供一段Python版本將處理後token提交到目標網站來通過Recaptcha2驗證碼。 首先我們需要獲取網站是如何發送POST請求,這樣我們才能將生成的token傳入進去,我們需要先打開F12控制台,然後人工先通過一下,最後我們可以看到網站發送了一個POST請求,我們只需要查看這次的POST請求構造,具體的過程如下:
  • 先人工通過驗證,具體的如下圖:

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

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

由上圖分析可知,此次POST請求的URL為:https://www.google.com/recaptcha/api2/demo,我們僅需要提交參數 g-recaptcha-response,然後我們只需要將處理後的token傳入下面的data中即可,調用token進行驗證的具體的CURL代碼如下:
調用token驗證所對應的Python代碼如下:
然後我們運行後代碼觀察控制台變得了這樣的結果:

最後我們就通過了Recaptcha2驗證碼的協議驗證。 另外如果想生成對應的對接代碼,可以直接複製生成,例如 CURL 的代碼如下:
Python 的對接代碼如下:

錯誤處理

在調用 API 時,如果遇到錯誤,API 會返回相應的錯誤代碼和信息。例如:
  • 400 token_mismatched:錯誤請求,可能是由於缺少或無效的參數。
  • 400 api_not_implemented:錯誤請求,可能是由於缺少或無效的參數。
  • 401 invalid_token:未授權,無效或缺少授權token。
  • 429 too_many_requests:請求過多,您已超過速率限制。
  • 500 api_error:內部伺服器錯誤,伺服器出現問題。

錯誤響應示例

結論

通過本文檔,您已經了解了如何使用 Recaptcha2 協議識別 API 讓用戶無需識別和點選 Recaptcha2 驗證碼圖片,僅需通過提交 Website Key 即可實現後台自動解碼,完成驗證。希望本文檔能幫助您更好地對接和使用該 API。如有任何問題,請隨時聯繫我們的技術支持團隊。