UNLOCK API

API giải GeeTest v3 / v4

Gửi tác vụ GeeTest v3 / v4 tới API và nhận về kết quả để code của bạn gửi lên trang. URL trang kèm gt và challenge (v3) hoặc captcha_id (v4). Bạn nhận: Các giá trị mà form GeeTest gửi đi.

Tóm tắt

Giá cho 1.000 lượt
$0.70 ($0.0007 mỗi tác vụ)
Loại createTask
GeeTestTaskProxyless, GeeTestTask
Phương thức in.php
geetest, geetest_v4
Bạn gửi
URL trang kèm gt và challenge (v3) hoặc captcha_id (v4)
Bạn nhận
Các giá trị mà form GeeTest gửi đi

Tìm các giá trị ở đâu

Với GeeTest v3, gt và challenge lấy từ request register của trang; challenge chỉ dùng được một lần. Với v4, gửi version 4 và captcha_id trong initParameters.

createTask và getTaskResult

Tạo tác vụ, chờ khoảng 5 giây, rồi kiểm tra kết quả mỗi 5 giây cho đến khi trạng thái là ready. Nếu tác vụ lỗi, API trả về lỗi và tiền được hoàn vào số dư.

import time, requests

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

task = requests.post(f"{API}/createTask", json={
  "clientKey": KEY,
  "task": {
      "type": "GeeTestTaskProxyless",
      "websiteURL": "https://example.com/login",
      "gt": "81388ea1fc187e0c335c0a8907ff2625",
      "challenge": "2e2f0f65240058b683cb6ea21c303eea"
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

while True:
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(r["errorCode"])   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"])
        break

in.php và res.php

Cùng tác vụ đó với API form kiểu cũ. Thêm json=1 để nhận phản hồi JSON; nếu không, phản hồi là văn bản thuần như OK|1001.

curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=geetest&gt=GT&challenge=CHALLENGE&pageurl=https://example.com/login&json=1"
# {"status":1,"request":"1001"}

curl -s "https://unlock-api.com/res.php?key=YOUR_API_KEY&action=get&id=1001&json=1"
# {"status":0,"request":"CAPCHA_NOT_READY"}  then  {"status":1,"request":"ANSWER"}