UNLOCK API
GeeTest v3 / v4

GeeTest v3 / v4

createTask veya in.php ile UNLOCK API'ye GeeTest v3 / v4 görevi gönderme: görev türü adları, tüm parametreler, solution nesnesi, proxy alanları ve 7 dilde kod örnekleri.
Fiyat
$0.70 Görev başına $0.0007
Gönderdiğiniz
Sayfa URL'si ile gt ve challenge (v3) veya captcha_id (v4)
Aldığınız
GeeTest formunun gönderdiği değerler

Genel bakış ve fiyat

Görev türü adları

Proxy olmadan çözmek için ilk adı kullanın. Kendi proxy'niz üzerinden çözmek için ikinci adı kullanın ve proxy alanlarını ekleyin. Fiyat aynıdır.
GeeTestTaskProxylessProxy olmadan
GeeTestTaskKendi proxy'nizle

Görev nesnesi

type
StringZorunlu
Görev türü adı. Büyük/küçük harf fark etmez. GeeTestTaskProxyless | GeeTestTask
websiteURL
StringZorunlu
CAPTCHA'nın göründüğü sayfanın http:// veya https:// ile başlayan tam adresi.
gt
Stringİsteğe bağlı
GeeTest v3: sayfadaki gt değeri.
challenge
Stringİsteğe bağlı
GeeTest v3: yeni bir challenge değeri. Her görev için yenisini alın.
geetestApiServerSubdomain
Stringİsteğe bağlı
Sayfa kendi sunucusunu kullanıyorsa GeeTest API sunucusu.
version
Integerİsteğe bağlı
GeeTest v4 için 4. Varsayılan 3.
initParameters
Objectİsteğe bağlı
GeeTest v4: captcha_id içeren bir nesne.
userAgent
Stringİsteğe bağlı
Çözme sırasında kullanılacak tarayıcı User-Agent'ı. Yanıtı gönderirken aynısını kullanın.

Burada listelenmeyen alanlar, gönderildiği gibi çözücüye iletilir.

Proxy alanları

Yalnızca proxy'li tür adı için. Alanları ayrı ayrı veya tek bir proxy dizesi olarak gönderin.
proxyType
StringZorunlu
http, https, socks4 veya socks5.
proxyAddress
StringZorunlu
Proxy IP adresi veya ana bilgisayar adı.
proxyPort
IntegerZorunlu
Proxy bağlantı noktası.
proxyLogin
Stringİsteğe bağlı
Proxy gerektiriyorsa proxy kullanıcı adı.
proxyPassword
Stringİsteğe bağlı
Proxy gerektiriyorsa proxy parolası.
proxy
String
Tüm proxy alanları tek bir dizede, örneğin http://user:pass@1.2.3.4:8080.

Proxy kullanımı

İstek

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

solution nesnesi

status ready olduğunda solution içinde döndürülür.
challenge
String
Gönderilecek GeeTest v3 challenge değeri.
validate
String
GeeTest v3 validate değeri.
seccode
String
GeeTest v3 seccode değeri.
captcha_id
String
GeeTest v4 captcha_id.
lot_number
String
GeeTest v4 lot_number.
pass_token
String
GeeTest v4 pass_token.
gen_time
String
GeeTest v4 gen_time.
captcha_output
String
GeeTest v4 captcha_output.
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
}

Kod örnekleri

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

in.php form yöntemi

Aynı görev, klasik form isteğiyle. res.php yanıtı metin olarak döndürür.
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 ve res.php