UNLOCK API
Tugas khusus (Imperva, Temu, dan lainnya)

Tugas khusus (Imperva, Temu, dan lainnya)

Cara mengirim tugas Tugas khusus (Imperva, Temu, dan lainnya) ke UNLOCK API dengan createTask atau in.php: nama tipe tugas, semua parameter, objek solution, field proxy, dan contoh kode dalam 7 bahasa.
Harga
$0.90 $0.0009 per tugas
Yang Anda kirim
class (Imperva, Temu, HUNT, tspd, Basilisk, dan lainnya) beserta metadata-nya
Yang Anda terima
Nilai yang dikembalikan class tersebut

Ringkasan dan harga

Nama tipe tugas

Tipe ini hanya punya satu nama.
CustomTask

Objek task

type
StringWajib
Nama tipe tugas. Huruf besar atau kecil tidak berpengaruh. CustomTask
class
StringWajib
Proteksi mana yang dipecahkan, misalnya Imperva atau Temu.
websiteURL
StringOpsional
Alamat lengkap halaman tempat CAPTCHA muncul, diawali http:// atau https://.
metadata
ObjectOpsional
Nilai tambahan yang dibutuhkan class yang dipilih, sebagai objek.
userAgent
StringOpsional
User-Agent browser yang dipakai saat memecahkan. Kirim yang sama saat Anda mengirim jawabannya.

Field yang tidak tercantum di sini diteruskan ke pemecah apa adanya.

Request

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

Objek solution

Dikembalikan di solution saat status ready.
data
Object
Nilai jawaban untuk class yang dipilih.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "data": {
      "...": "..."
    }
  },
  "cost": "0.0009",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Contoh kode

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

Metode form in.php

Tugas yang sama dengan request form klasik. res.php mengembalikan jawaban sebagai teks.
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 dan res.php