UNLOCK API
Tác vụ tùy chỉnh (Imperva, Temu và các loại khác)

Tác vụ tùy chỉnh (Imperva, Temu và các loại khác)

Cách gửi tác vụ Tác vụ tùy chỉnh (Imperva, Temu và các loại khác) tới UNLOCK API bằng createTask hoặc in.php: tên loại tác vụ, mọi tham số, object solution, trường proxy và code mẫu bằng 7 ngôn ngữ.
Giá
$0.90 $0.0009 mỗi tác vụ
Bạn gửi
class (Imperva, Temu, HUNT, tspd, Basilisk và các loại khác) cùng metadata của nó
Bạn nhận
Các giá trị mà class đó trả về

Tổng quan và giá

Tên loại tác vụ

Loại này chỉ có một tên.
CustomTask

Object task

type
StringBắt buộc
Tên loại tác vụ. Không phân biệt chữ hoa, chữ thường. CustomTask
class
StringBắt buộc
Loại bảo vệ cần giải, ví dụ Imperva hoặc Temu.
websiteURL
StringTùy chọn
Địa chỉ đầy đủ của trang có CAPTCHA, bắt đầu bằng http:// hoặc https://.
metadata
ObjectTùy chọn
Các giá trị thêm mà class đã chọn cần, dưới dạng object.
userAgent
StringTùy chọn
User-Agent trình duyệt dùng khi giải. Gửi đúng User-Agent đó khi bạn gửi kết quả.

Các trường không có trong danh sách này được chuyển nguyên cho người giải.

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_..."
    }
  }
}

Object solution

Trả về trong solution khi status là ready.
data
Object
Các giá trị kết quả cho class đã chọn.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "data": {
      "...": "..."
    }
  },
  "cost": "0.0009",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Code mẫu

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

Phương thức form in.php

Cùng tác vụ đó với request form kiểu cũ. res.php trả kết quả dạng văn bản.
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 form: in.php và res.php