什麼是 GeeTest v3 / v4 驗證碼?
GeeTest(極驗)是以拼圖滑桿、圖片點選等題型為主的驗證碼,在亞洲網站很常見。有 v3 與 v4 兩個版本。
將收到的值原封不動放進網站的驗證請求:v3 為 challenge·validate·seccode,v4 為 lot_number·pass_token·captcha_output 等。
GeeTest v3 / v4
< 5s · $0.84 / 1k
為什麼用 GateSolver 辨識 GeeTest v3 / v4
穩定辨識
持續優化 GeeTest v3 / v4 辨識模型,題型改變也能穩定辨識。
只為成功的任務付費
只為產生結果的任務付費。失敗或逾時的任務不扣款。
AI 自動辨識
不必等待人工,AI 即時辨識。通常 5 秒 內產生結果。
隨處串接
採用 REST API,任何語言、任何自動化工具都以相同方式呼叫。
相容 in.php
原本使用 in.php 和 res.php 格式的程式,只要更換位址即可。
大量處理
單把金鑰 1 分鐘內最多請求 600 次,同時任務數量不設限。
價格與速度
GeeTest v3 / v4 辨識方法:API 說明
只需兩次請求:用 createTask 建立任務,用 getTaskResult 取得答案。
步驟 1:建立任務
POST https://gatesolver.com/createTask
| 欄位 | 必填 | 說明 |
|---|---|---|
| type | 是 | GeeTestTaskProxyLess |
| websiteURL | 是 | 含驗證碼的頁面網址 |
| gt | 否 | v3:頁面中的 gt 值 |
| challenge | 否 | v3:新取得的 challenge 值 |
| captchaId | 否 | v4:captcha_id 值 |
請求
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GeeTestTaskProxyLess",
"websiteURL": "https://example.com/login",
"captchaId": "e392e1d7fd421dc63325744d5a2b9c73"
}
}回應
{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}步驟 2:取得結果
POST https://gatesolver.com/getTaskResult
用 taskId 每 3 秒查詢一次結果。status 為 processing 時繼續等待,變成 ready 後使用 solution。
請求
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}回應
{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006",
"status": "ready",
"solution": {
"captcha_id": "e392e1d7...",
"lot_number": "4dd0...",
"pass_token": "e93c...",
"gen_time": "1720000000",
"captcha_output": "fXbw..."
}
}將收到的值原封不動放進網站的驗證請求:v3 為 challenge·validate·seccode,v4 為 lot_number·pass_token·captcha_output 等。
程式碼範例
import requests, time
API = "https://gatesolver.com"
KEY = "YOUR_API_KEY"
task = {
"type": "GeeTestTaskProxyLess",
"websiteURL": "https://example.com/login",
"captchaId": "e392e1d7fd421dc63325744d5a2b9c73"
}
r = requests.post(f"{API}/createTask", json={"clientKey": KEY, "task": task}).json()
task_id = r["taskId"]
while True:
time.sleep(3)
res = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task_id}).json()
if res.get("status") == "ready":
print(res["solution"])
break
if res.get("errorId"):
raise RuntimeError(res["errorCode"])const API = "https://gatesolver.com", KEY = "YOUR_API_KEY";
const post = (p, b) => fetch(API + p, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(b) }).then((r) => r.json());
const { taskId } = await post("/createTask", { clientKey: KEY, task: {"type":"GeeTestTaskProxyLess","websiteURL":"https://example.com/login","captchaId":"e392e1d7fd421dc63325744d5a2b9c73"} });
let res;
do {
await new Promise((s) => setTimeout(s, 3000));
res = await post("/getTaskResult", { clientKey: KEY, taskId });
} while (res.status === "processing");
console.log(res.solution);curl -X POST https://gatesolver.com/createTask \
-H "Content-Type: application/json" \
-d '{"clientKey":"YOUR_API_KEY","task":{"type":"GeeTestTaskProxyLess","websiteURL":"https://example.com/login","captchaId":"e392e1d7fd421dc63325744d5a2b9c73"}}'GeeTest v3 / v4 常見問題
GeeTest v3 / v4 1,000 次多少錢?
GeeTest v3 / v4 價格:1,000 次 $0.84。每 1 次任務從餘額扣款,只為產生結果的任務付費。
GeeTest v3 / v4 多快能產生結果?
通常 5 秒 內產生結果。每隔幾秒呼叫 getTaskResult,status 變成 ready 後就能使用答案。
GeeTest v3 / v4 任務要用哪個 type?
預設 type:GeeTestTaskProxyLess。其他名稱(例如使用代理的版本)也以相同價格接受。
失敗會扣款嗎?
不會。未辨識成功或逾時的任務不收費。