UNLOCK API
GeeTest v3 / v4

GeeTest v3 / v4

Cách gửi tác vụ GeeTest v3 / v4 tới UNLOCK API bằng createTask hoặc in.php: tên loại tác vụ, mọi tham số, object solution, trường proxy và code mẫu bằng 7 ngôn ngữ.
Giá
$0.70 $0.0007 mỗi tác vụ
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ổng quan và giá

Tên loại tác vụ

Dùng tên thứ nhất để giải không cần proxy. Dùng tên thứ hai và thêm các trường proxy để giải qua proxy của bạn. Giá như nhau.
GeeTestTaskProxylessKhông dùng proxy
GeeTestTaskQua proxy của bạn

Object task

type
StringBắt buộc
Tên loại tác vụ. Không phân biệt chữ hoa, chữ thường. GeeTestTaskProxyless | GeeTestTask
websiteURL
StringBắt buộc
Địa chỉ đầy đủ của trang có CAPTCHA, bắt đầu bằng http:// hoặc https://.
gt
StringTùy chọn
GeeTest v3: giá trị gt trên trang.
challenge
StringTùy chọn
GeeTest v3: giá trị challenge mới. Lấy giá trị mới cho mỗi tác vụ.
geetestApiServerSubdomain
StringTùy chọn
Máy chủ API của GeeTest, nếu trang dùng máy chủ riêng.
version
IntegerTùy chọn
4 cho GeeTest v4. Mặc định 3.
initParameters
ObjectTùy chọn
GeeTest v4: object chứa captcha_id.
userAgent
StringTùy chọn
User-Agent trình duyệt dùng khi giải. Gửi đúng User-Agent đó khi bạn gửi kết quả.

Các trường không có trong danh sách này được chuyển nguyên cho người giải.

Trường proxy

Chỉ dùng cho tên loại có proxy. Gửi các trường riêng lẻ hoặc một chuỗi proxy.
proxyType
StringBắt buộc
http, https, socks4 hoặc socks5.
proxyAddress
StringBắt buộc
Địa chỉ IP hoặc tên host của proxy.
proxyPort
IntegerBắt buộc
Cổng proxy.
proxyLogin
StringTùy chọn
Tên đăng nhập proxy, nếu proxy cần.
proxyPassword
StringTùy chọn
Mật khẩu proxy, nếu proxy cần.
proxy
String
Tất cả trường proxy trong một chuỗi, ví dụ http://user:pass@1.2.3.4:8080.

Dùng proxy

Request

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "GeeTestTaskProxyless",
    "websiteURL": "https://example.com/login",
    "gt": "81388ea1fc187e0c335c0a8907ff2625",
    "challenge": "2e2f0f65240058b683cb6ea21c303eea"
  }
}

Object solution

Trả về trong solution khi status là ready.
challenge
String
challenge GeeTest v3 để gửi.
validate
String
Giá trị validate GeeTest v3.
seccode
String
Giá trị seccode GeeTest v3.
captcha_id
String
captcha_id GeeTest v4.
lot_number
String
lot_number GeeTest v4.
pass_token
String
pass_token GeeTest v4.
gen_time
String
gen_time GeeTest v4.
captcha_output
String
captcha_output GeeTest v4.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "challenge": "1ad03db8aff920037fb8117827eab171gu",
    "validate": "0e0ab9f2fdbf7b8e2c3c1a2d4f2c9b07",
    "seccode": "0e0ab9f2fdbf7b8e2c3c1a2d4f2c9b07|jordan",
    "captcha_id": "(v4) e392e1d7fd421dc63325744d5a2b9c73",
    "lot_number": "(v4) e6c3bed2854f41f880662c48afff5dcb",
    "pass_token": "(v4) fad5eb52fc83bf7617f4...",
    "gen_time": "(v4) 1693924478",
    "captcha_output": "(v4) fN36ufW6cQN2SQ-I..."
  },
  "cost": "0.0007",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Code mẫu

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"])

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"])
        break
else:
    raise SystemExit("timed out")

Phương thức form in.php

Cùng tác vụ đó với request form kiểu cũ. res.php trả kết quả dạng văn bản.
in.php, res.php
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"}

API form: in.php và res.php