UNLOCK API
Tugas tersuai (Imperva, Temu dan lain-lain)

Tugas tersuai (Imperva, Temu dan lain-lain)

Cara menghantar tugas Tugas tersuai (Imperva, Temu dan lain-lain) ke UNLOCK API dengan createTask atau in.php: nama jenis tugas, setiap parameter, objek solution, medan proxy dan contoh kod dalam 7 bahasa.
Harga
$0.90 $0.0009 setiap tugas
Anda hantar
class (Imperva, Temu, HUNT, tspd, Basilisk dan lain-lain) dan metadatanya
Anda terima
Nilai yang dipulangkan oleh class itu

Ringkasan dan harga

Nama jenis tugas

Jenis ini ada satu nama.
CustomTask

Objek task

type
StringWajib
Nama jenis tugas. Dipadankan tanpa mengira huruf besar atau kecil. CustomTask
class
StringWajib
Perlindungan mana yang hendak diselesaikan, contohnya Imperva atau Temu.
websiteURL
StringPilihan
Alamat penuh halaman tempat CAPTCHA dipaparkan, bermula dengan http:// atau https://.
metadata
ObjectPilihan
Nilai tambahan yang diperlukan oleh class yang dipilih, sebagai objek.
userAgent
StringPilihan
User-Agent pelayar yang digunakan semasa menyelesaikan. Hantar yang sama apabila anda menghantar jawapan.

Medan yang tidak disenaraikan di sini dihantar kepada penyelesai seperti yang dihantar.

Permintaan

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

Dipulangkan dalam solution apabila status ialah ready.
data
Object
Nilai jawapan untuk class yang dipilih.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "data": {
      "...": "..."
    }
  },
  "cost": "0.0009",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Contoh kod

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

Kaedah borang in.php

Tugas yang sama dengan permintaan borang klasik. res.php memulangkan jawapan 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"}

API borang: in.php dan res.php