UNLOCK API
Tıklama koordinatları

Tıklama koordinatları

createTask veya in.php ile UNLOCK API'ye Tıklama koordinatları 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
Base64 olarak görsel ve neye tıklanacağı
Aldığınız
Tıklanacak x ve y noktaları

Genel bakış ve fiyat

Görev türü adları

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

Bunlar da kabul edilir: ImageToCoordinatesTask

Görev nesnesi

type
StringZorunlu
Görev türü adı. Büyük/küçük harf fark etmez. CoordinatesTask
body
StringZorunlu
Görsel base64 olarak (JPG, PNG veya GIF), en fazla yaklaşık 100 KB. data: öneki kullanılabilir.
comment
Stringİsteğe bağlı
Çözücü için talimat, örneğin görselin üstünde gösterilen soru.
minClicks
Integerİsteğe bağlı
Tıklanacak en az nokta sayısı.
maxClicks
Integerİsteğe bağlı
Tıklanacak en fazla nokta sayısı.

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

İstek

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

solution nesnesi

status ready olduğunda solution içinde döndürülür.
coordinates
Array
Tıklanacak noktalar, görselin sol üst köşesinden piksel cinsinden.
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
}

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": "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 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=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"}

Form API: in.php ve res.php