UNLOCK API
งานกำหนดเอง (Imperva, Temu และอื่น ๆ)

งานกำหนดเอง (Imperva, Temu และอื่น ๆ)

วิธีส่งงาน งานกำหนดเอง (Imperva, Temu และอื่น ๆ) ไปที่ UNLOCK API ด้วย createTask หรือ in.php: ชื่อประเภทงาน พารามิเตอร์ทุกตัว ออบเจ็กต์ solution ฟิลด์ proxy และตัวอย่างโค้ด 7 ภาษา
ราคา
$0.90 $0.0009 ต่องาน
สิ่งที่ส่ง
class (Imperva, Temu, HUNT, tspd, Basilisk และอื่น ๆ) และ metadata ของมัน
สิ่งที่ได้
ค่าที่ class นั้นตอบกลับ

ภาพรวมและราคา

ชื่อประเภทงาน

ประเภทนี้มีชื่อเดียว
CustomTask

ออบเจ็กต์ task

type
Stringจำเป็น
ชื่อประเภทงาน ไม่สนตัวพิมพ์เล็กหรือใหญ่ CustomTask
class
Stringจำเป็น
ระบบป้องกันที่ต้องการแก้ เช่น Imperva หรือ Temu
websiteURL
Stringไม่บังคับ
ที่อยู่เต็มของหน้าที่มี CAPTCHA ขึ้นต้นด้วย http:// หรือ https://
metadata
Objectไม่บังคับ
ค่าเพิ่มเติมที่ class ที่เลือกต้องใช้ เป็นออบเจ็กต์
userAgent
Stringไม่บังคับ
User-Agent ของเบราว์เซอร์ที่ใช้ระหว่างแก้ ใช้ค่าเดียวกันเมื่อส่งคำตอบ

ฟิลด์ที่ไม่ได้ระบุไว้ที่นี่จะส่งต่อให้ผู้แก้ตามที่ส่งมา

คำขอ

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

คืนใน solution เมื่อ status เป็น ready
data
Object
ค่าคำตอบสำหรับ class ที่เลือก
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "data": {
      "...": "..."
    }
  },
  "cost": "0.0009",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

ตัวอย่างโค้ด

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

method ฟอร์มของ in.php

งานเดียวกันด้วยคำขอแบบฟอร์มดั้งเดิม res.php คืนคำตอบเป็นข้อความ
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 และ res.php