UNLOCK API
Klickkoordinaten

Klickkoordinaten

So senden Sie eine Klickkoordinaten-Aufgabe mit createTask oder in.php an UNLOCK API: Namen der Aufgabentypen, alle Parameter, das solution-Objekt, Proxy-Felder und Codebeispiele in 7 Sprachen.
Preis
$0.60 $0.0006 pro Aufgabe
Sie senden
Das Bild als base64 und was angeklickt werden soll
Sie erhalten
Die anzuklickenden x- und y-Punkte

Überblick und Preis

Namen der Aufgabentypen

Dieser Typ hat nur einen Namen.
CoordinatesTask

Ebenfalls akzeptiert: ImageToCoordinatesTask

Aufgabenobjekt

type
StringPflicht
Name des Aufgabentyps. Groß- und Kleinschreibung spielt keine Rolle. CoordinatesTask
body
StringPflicht
Das Bild als base64 (JPG, PNG oder GIF), bis etwa 100 KB. Ein Präfix data: ist erlaubt.
comment
StringOptional
Anweisung für den Solver, zum Beispiel die Frage über dem Bild.
minClicks
IntegerOptional
Mindestanzahl anzuklickender Punkte.
maxClicks
IntegerOptional
Höchstanzahl anzuklickender Punkte.

Hier nicht aufgeführte Felder werden unverändert an den Solver weitergegeben.

Anfrage

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "CoordinatesTask",
    "body": "/9j/4AAQSkZJRgABAQ...",
    "comment": "Click the cat"
  }
}

solution-Objekt

Wird in solution zurückgegeben, wenn status ready ist.
coordinates
Array
Anzuklickende Punkte, in Pixeln ab der oberen linken Ecke des Bildes.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "coordinates": [
      {
        "x": 114,
        "y": 73
      },
      {
        "x": 201,
        "y": 112
      }
    ]
  },
  "cost": "0.0006",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Codebeispiele

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "CoordinatesTask",
      "body": "/9j/4AAQSkZJRgABAQ...",
      "comment": "Click the cat"
    }
}).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-Formularmethode

Dieselbe Aufgabe mit der klassischen Formularanfrage. res.php gibt die Antwort als Text zurück.
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=base64&coordinatescaptcha=1&textinstructions=Click+the+cat&body=BASE64_IMAGE&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"}

Formular-API: in.php und res.php