UNLOCK API
Görsel ızgarası

Görsel ızgarası

createTask veya in.php ile UNLOCK API'ye Görsel ızgarası görevi gönderme: görev türü adları, tüm parametreler, solution nesnesi, proxy alanları ve 7 dilde kod örnekleri.
Fiyat
$0.36 Görev başına $0.00036
Gönderdiğiniz
Base64 olarak ızgara görseli ve talimat, örneğin seçilecek nesne
Aldığınız
Tıklanacak hücrelerin numaraları

Genel bakış ve fiyat

Görev türü adları

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

Bunlar da kabul edilir: GridTaskProxyless

Görev nesnesi

type
StringZorunlu
Görev türü adı. Büyük/küçük harf fark etmez. GridTask
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.
rows
Integerİsteğe bağlı
Izgaradaki satır sayısı.
columns
Integerİsteğe bağlı
Izgaradaki sütun sayısı.
imgType
Stringİsteğe bağlı
Biliyorsanız görselin türü.
previousId
Stringİsteğe bağlı
Izgara ilk yanıttan sonra değişirse önceki görevin id'si.
canSkip
Booleanİsteğe bağlı
Yanıt, hiçbir karenin eşleşmediği olabilirse true.

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

İstek

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "GridTask",
    "body": "/9j/4AAQSkZJRgABAQ...",
    "comment": "Select all squares with traffic lights",
    "rows": 3,
    "columns": 3
  }
}

solution nesnesi

status ready olduğunda solution içinde döndürülür.
click
Array
Tıklanacak karelerin numaraları, 1'den başlayarak soldan sağa ve yukarıdan aşağıya sayılır.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "click": [
      1,
      4,
      9
    ]
  },
  "cost": "0.00036",
  "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": "GridTask",
      "body": "/9j/4AAQSkZJRgABAQ...",
      "comment": "Select all squares with traffic lights",
      "rows": 3,
      "columns": 3
    }
}).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&recaptcha=1&textinstructions=Select+all+traffic+lights&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