UNLOCK API
Karmaşık görsel görevi

Karmaşık görsel görevi

createTask veya in.php ile UNLOCK API'ye Karmaşık görsel görevi görevi gönderme: görev türü adları, tüm parametreler, solution nesnesi, proxy alanları ve 7 dilde kod örnekleri.
Fiyat
$0.60 Görev başına $0.0006
Gönderdiğiniz
class (recaptcha, hcaptcha, funcaptcha veya recognition), görseller ve görev metni
Aldığınız
Hangi görsellerin veya hücrelerin eşleştiği

Genel bakış ve fiyat

Görev türü adları

Bu türün tek bir adı vardır.
ComplexImageTask

Görev nesnesi

type
StringZorunlu
Görev türü adı. Büyük/küçük harf fark etmez. ComplexImageTask
class
StringZorunlu
Hangi görsel challenge olduğu, örneğin recaptcha veya hcaptcha.
imagesBase64
ArrayZorunlu
Görseller, base64 dizelerinden oluşan bir liste olarak.
metadata
Objectİsteğe bağlı
Soru ve düzen, örneğin Task ve Grid.

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

İstek

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ComplexImageTask",
    "class": "recaptcha",
    "imagesBase64": [
      "/9j/4AAQSkZJRgABAQ..."
    ],
    "metadata": {
      "Task": "Select all images with a bus",
      "Grid": "3x3"
    }
  }
}

solution nesnesi

status ready olduğunda solution içinde döndürülür.
answer
Array
Gönderilecek yanıt.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "answer": [
      false,
      true,
      false,
      false,
      true,
      false,
      false,
      false,
      true
    ]
  },
  "cost": "0.0006",
  "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": "ComplexImageTask",
      "class": "recaptcha",
      "imagesBase64": [
        "/9j/4AAQSkZJRgABAQ..."
      ],
      "metadata": {
        "Task": "Select all images with a bus",
        "Grid": "3x3"
      }
    }
}).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

Bu tür yalnızca JSON yöntemleriyle kullanılabilir.