UNLOCK API
GeeTest v3 / v4

GeeTest v3 / v4

Cara mengirim tugas GeeTest v3 / v4 ke UNLOCK API dengan createTask atau in.php: nama tipe tugas, semua parameter, objek solution, field proxy, dan contoh kode dalam 7 bahasa.
Harga
$0.70 $0.0007 per tugas
Yang Anda kirim
URL halaman dengan gt dan challenge (v3) atau captcha_id (v4)
Yang Anda terima
Nilai yang dikirim oleh form GeeTest

Ringkasan dan harga

Nama tipe tugas

Pakai nama pertama untuk memecahkan tanpa proxy. Pakai nama kedua dan tambahkan field proxy untuk memecahkan lewat proxy Anda sendiri. Harganya sama.
GeeTestTaskProxylessTanpa proxy
GeeTestTaskLewat proxy Anda

Objek task

type
StringWajib
Nama tipe tugas. Huruf besar atau kecil tidak berpengaruh. GeeTestTaskProxyless | GeeTestTask
websiteURL
StringWajib
Alamat lengkap halaman tempat CAPTCHA muncul, diawali http:// atau https://.
gt
StringOpsional
GeeTest v3: nilai gt dari halaman.
challenge
StringOpsional
GeeTest v3: nilai challenge yang baru. Ambil yang baru untuk setiap tugas.
geetestApiServerSubdomain
StringOpsional
Server API GeeTest, jika halaman memakai server sendiri.
version
IntegerOpsional
4 untuk GeeTest v4. Default 3.
initParameters
ObjectOpsional
GeeTest v4: objek berisi captcha_id.
userAgent
StringOpsional
User-Agent browser yang dipakai saat memecahkan. Kirim yang sama saat Anda mengirim jawabannya.

Field yang tidak tercantum di sini diteruskan ke pemecah apa adanya.

Field proxy

Hanya untuk nama tipe proxy. Kirim field terpisah atau satu string proxy.
proxyType
StringWajib
http, https, socks4, atau socks5.
proxyAddress
StringWajib
Alamat IP atau nama host proxy.
proxyPort
IntegerWajib
Port proxy.
proxyLogin
StringOpsional
Nama pengguna proxy, jika proxy memerlukannya.
proxyPassword
StringOpsional
Kata sandi proxy, jika proxy memerlukannya.
proxy
String
Semua field proxy dalam satu string, misalnya http://user:pass@1.2.3.4:8080.

Memakai proxy

Request

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

Objek solution

Dikembalikan di solution saat status ready.
challenge
String
Challenge GeeTest v3 yang dikirim.
validate
String
Nilai validate GeeTest v3.
seccode
String
Nilai 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
}

Contoh kode

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

Metode form in.php

Tugas yang sama dengan request form klasik. res.php mengembalikan jawaban sebagai teks.
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"}

Form API: in.php dan res.php