UNLOCK API
概覽

UNLOCK API 文件

將驗證碼作為任務發送,然後取回答案。API 使用與其他識別 API 相同的方法名稱、任務名稱和錯誤代碼,所以大多數現有代碼只要換掉主機和密鑰就能使用。

請求流程

  1. 1createTask

    建立任務

    以你的密鑰和 task 物件 POST /createTask,會得到 taskId。費用此時從餘額扣除。

  2. 2getTaskResult

    查詢結果

    等候約 5 秒,然後每 5 秒 POST /getTaskResult,直至 status 為 ready。

  3. 3solution

    使用答案

    將 solution 中的 token 或文字填入頁面表單。如任務失敗,費用會退回餘額。

基本資料

Base URL
https://unlock-api.com
API 密鑰
32 個字元,在你的賬戶頁面。以 clientKey(JSON)或 key(in.php、res.php)發送。
格式
JSON 方法:以 POST 發送 JSON 內容。in.php 和 res.php:以 GET 或 POST 發送表單欄位;加上 json=1 可取得 JSON 回覆。
限制
每個賬戶每分鐘 1,200 次請求,包括結果查詢。建立任務後等候約 5 秒,然後每 5 秒查詢一次。
時限
5 分鐘內未識別的任務會以 ERROR_CAPTCHA_UNSOLVABLE 失敗,費用退回餘額。
收費
任務費用於建立任務時扣除。失敗任務會自動退款。

快速入門

使用 JSON 方法識別 reCAPTCHA v2。將 YOUR_API_KEY 換成你的密鑰。
import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "RecaptchaV2TaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "6LcR_RsTAAAAAFJR_5ZdbQd0SMxL7yIDmSXH1-lo"
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

for _ in range(60):   # 60 x 5 s = the 5 minute task limit
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(f"{r['errorCode']}: {r.get('errorDescription', '')}")   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"]["gRecaptchaResponse"])
        break
else:
    raise SystemExit("timed out")

方法

指南

任務類型

每種類型都有專屬頁面,列出所有參數、solution 物件和範例。

token 任務