> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 數字英文驗證碼識別 API 對接說明

> Recognition of English numerical verification codes 集成指南 - XHuoAPI

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

## 申請流程

要使用 API，需要先到 [數字英文驗證碼識別 API](https://api.xhuoapi.ai/documents/cd1f56dc-e9c9-4293-9c68-80fa560c9087) 對應頁面申請對應的服務，進入頁面之後，點擊「Acquire」按鈕，如圖所示：

![](https://cdn.xhuoapi.ai/q6ytrc.png)

如果你尚未登入或註冊，會自動跳轉到登入頁面邀請您來註冊和登入，登入註冊之後會自動返回當前頁面。

在首次申請時會有免費額度贈送，可以免費使用該 API。

## 基本使用

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

<p>
  <img src="https://cdn.xhuoapi.ai/c50hi9.png" width="500" className="m-auto" />
</p>

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

<p>
  <img src="https://cdn.xhuoapi.ai/zy2jwh.png" width="500" className="m-auto" />
</p>

<p>
  <img src="https://cdn.xhuoapi.ai/pr73gn.png" width="500" className="m-auto" />
</p>

<p>
  <img src="https://cdn.xhuoapi.ai/ic4dbw.png" width="500" className="m-auto" />
</p>

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

<p>
  <img src="https://cdn.xhuoapi.ai/5h4x4w.png" width="500" className="m-auto" />
</p>

可以看到這裡我們設置了 Request Headers，包括：

* `accept`：想要接收怎樣格式的響應結果，這裡填寫為 `application/json`，即 JSON 格式。
* `authorization`：調用 API 的密鑰，申請之後可以直接下拉選擇。

另外設置了 Request Body，包括：

* `image`：Base64編碼的驗證碼圖像（不包含data:image/png;base64的前綴）。

選擇之後，可以發現右側也生成了對應代碼，如圖所示：

<p>
  <img src="https://cdn.xhuoapi.ai/202y3d.png" width="500" className="m-auto" />
</p>

點擊「Try」按鈕即可進行測試，如上圖所示，這裡我們就得到了如下結果：

```json theme={null}
{
  "text": "7364"
}
```

返回結果一共有多個欄位，介紹如下：

* `text`，此次變長英文數字驗證碼圖像任務處理後文字內容。

可以看到我們得到了處理變長英文數字驗證碼圖像的驗證結果，我們只需要根據結果中 `text` 的文字內容即可通過驗證。

另外如果想生成對應的對接代碼，可以直接複製生成，例如 CURL 的代碼如下：

```shell theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/captcha/recognition/image2text' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAE3CAYAAAA6xjI2AAAAAX..."
}'
```

Python 的對接代碼如下：

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/captcha/recognition/image2text"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "image": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAE3CAYAAAA6xjI2AAAAAX..."
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

## 錯誤處理

在調用 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.

### 錯誤響應示例

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## 結論

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