UNLOCK API
Złożone zadanie z obrazkami

Złożone zadanie z obrazkami

Jak wysłać zadanie Złożone zadanie z obrazkami do UNLOCK API przez createTask lub in.php: nazwy typów zadań, wszystkie parametry, obiekt solution, pola proxy i przykłady kodu w 7 językach.
Cena
$0.60 $0.0006 za zadanie
Wysyłasz
class (recaptcha, hcaptcha, funcaptcha lub recognition), obrazki i treść zadania
Otrzymujesz
Które obrazki lub komórki pasują

Przegląd i cena

Nazwy typu zadania

Ten typ ma jedną nazwę.
ComplexImageTask

Obiekt zadania

type
StringWymagane
Nazwa typu zadania. Wielkość liter nie ma znaczenia. ComplexImageTask
class
StringWymagane
Jakie to zadanie obrazkowe, na przykład recaptcha lub hcaptcha.
imagesBase64
ArrayWymagane
Obrazki jako lista ciągów base64.
metadata
ObjectOpcjonalne
Pytanie i układ, na przykład Task i Grid.

Pola niewymienione tutaj są przekazywane do rozwiązującego bez zmian.

Żądanie

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

Obiekt solution

Zwracany w solution, gdy status ma wartość ready.
answer
Array
Odpowiedź do wysłania.
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
}

Przykłady kodu

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

Metoda formularza in.php

Ten typ jest dostępny tylko przez metody JSON.