Skip to main content
本文將介紹一種數字英文驗證碼識別 API 對接說明,它是基於深度學習技術,可用於識別變長英文數字驗證碼。輸入驗證碼圖像的內容,輸出驗證碼結果。

申請流程

要使用數字英文驗證碼識別 API,首先到 Ace Data Cloud 控制台 獲取您的 API Token,留作備用。 如果你尚未登入或註冊,會自動跳轉到登入頁面邀請你註冊和登入,完成後會自動返回當前頁面。 一個 API Token 即可調用平台所有服務,無需為每個服務單獨申請。 首次申請會贈送免費額度,可免費體驗;額度不足時可在 控制台 充值通用餘額。
📘 完整文檔:數字英文驗證碼識別 API →

基本使用

首先先了解下基本的使用方式,就是輸入需要處理變長英文數字驗證碼圖像,便可獲得處理後的結果,首先需要簡單地傳遞一個 image 字段,這個就是具體英文數字驗證碼圖像,如圖所示:

然後我們需要將驗證碼圖片轉換為Base64編碼的驗證碼圖像,轉換Base64編碼推薦使用谷歌瀏覽器插件FeHelper進行轉換,具體使用方法可參考下圖:

之後就可以將谷歌瀏覽器插件FeHelp獲取到的Base64編碼複製過來,記住是不包含data:image/png;base64的前綴,具體的內容如下:

可以看到這裡我們設置了 Request Headers,包括:
  • accept:想要接收怎樣格式的響應結果,這裡填寫為 application/json,即 JSON 格式。
  • authorization:調用 API 的密鑰,申請之後可以直接下拉選擇。
另外設置了 Request Body,包括:
  • image:Base64編碼的驗證碼圖像(不包含data:image/png;base64的前綴)。
選擇之後,可以發現右側也生成了對應代碼,如圖所示:

點擊「Try」按鈕即可進行測試,如上圖所示,這裡我們就得到了如下結果:
返回結果一共有多個字段,介紹如下:
  • text,此次變長英文數字驗證碼圖像任務處理後文字內容。
  • started_atfinished_at:本次請求開始處理與產出結果的時間,Unix 時間戳(秒,浮點)。
  • elapsed:本次處理的總耗時(秒)。
可以看到我們得到了處理變長英文數字驗證碼圖像的驗證結果,我們只需要根據結果中 text 的文字內容即可通過驗證。 另外如果想生成對應的對接代碼,可以直接複製生成,例如 CURL 的代碼如下:
Python 的對接代碼如下:

非同步模式(async)

默認情況下 API 是同步阻塞的:一次請求會一直等待,直到識別結果處理完成才返回。如果你在做多打碼器輪換(multi-solver rotation),希望「提交任務後立即拿到 task_id,先去調度其他打碼器,稍後再回來取結果」,可以在請求體中傳入 async: true 傳入 async: true 後,接口會立即返回一個 task_id,而不會阻塞等待:
隨後使用該 task_id 輪詢 POST /captcha/tasks(建議每 3~5 秒一次)來獲取結果:
處理中會返回 status: processing
處理完成會返回 status: ready 和識別結果 text(字段結構與同步模式完全一致):
計費說明:非同步模式下,創建任務與輪詢「處理中」都不計費;僅在成功取到識別結果時計費一次(與同步模式的價格一致)。因此在輪換中取消尚未完成的任務不會產生費用。/captcha/tasks 對所有驗證碼接口(token 與 recognition 系列)通用,用同一個 task_id 輪詢即可。

錯誤處理

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

錯誤響應示例

結論

通過本文檔,您已經了解了如何使用數字英文驗證碼識別 API 可用於識別變長英文數字驗證碼。輸入驗證碼圖像的內容,輸出驗證碼結果。希望本文檔能幫助您更好地對接和使用該 API。如有任何問題,請隨時聯繫我們的技術支持團隊。