UNLOCK API
Özel görev (Imperva, Temu ve diğerleri)

Özel görev (Imperva, Temu ve diğerleri)

createTask veya in.php ile UNLOCK API'ye Özel görev (Imperva, Temu ve diğerleri) görevi gönderme: görev türü adları, tüm parametreler, solution nesnesi, proxy alanları ve 7 dilde kod örnekleri.
Fiyat
$0.90 Görev başına $0.0009
Gönderdiğiniz
class (Imperva, Temu, HUNT, tspd, Basilisk ve diğerleri) ve metadata değerleri
Aldığınız
O class'ın döndürdüğü değerler

Genel bakış ve fiyat

Görev türü adları

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

Görev nesnesi

type
StringZorunlu
Görev türü adı. Büyük/küçük harf fark etmez. CustomTask
class
StringZorunlu
Hangi korumanın çözüleceği, örneğin Imperva veya Temu.
websiteURL
Stringİsteğe bağlı
CAPTCHA'nın göründüğü sayfanın http:// veya https:// ile başlayan tam adresi.
metadata
Objectİsteğe bağlı
Seçilen class'ın gerektirdiği ek değerler, nesne olarak.
userAgent
Stringİsteğe bağlı
Çözme sırasında kullanılacak tarayıcı User-Agent'ı. Yanıtı gönderirken aynısını kullanın.

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

İstek

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "CustomTask",
    "class": "Imperva",
    "websiteURL": "https://example.com/login",
    "metadata": {
      "incapsulaScriptUrl": "_Incapsula_Resource?SWJIYLWA=...",
      "incapsulaCookie": "incap_ses_..."
    }
  }
}

solution nesnesi

status ready olduğunda solution içinde döndürülür.
data
Object
Seçilen class için yanıt değerleri.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "data": {
      "...": "..."
    }
  },
  "cost": "0.0009",
  "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": "CustomTask",
      "class": "Imperva",
      "websiteURL": "https://example.com/login",
      "metadata": {
        "incapsulaScriptUrl": "_Incapsula_Resource?SWJIYLWA=...",
        "incapsulaCookie": "incap_ses_..."
      }
    }
}).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=incapsula&pageurl=https://example.com/login&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