UNLOCK API

API giải Amazon AWS WAF

Gửi tác vụ Amazon AWS WAF tới API và nhận về kết quả để code của bạn gửi lên trang. URL trang, site key của WAF và các giá trị iv và context từ trang challenge. Bạn nhận: Giá trị cho cookie aws-waf-token.

Tóm tắt

Giá cho 1.000 lượt
$0.70 ($0.0007 mỗi tác vụ)
Loại createTask
AmazonTaskProxyless, AmazonTask
Phương thức in.php
amazon_waf
Bạn gửi
URL trang, site key của WAF và các giá trị iv và context từ trang challenge
Bạn nhận
Giá trị cho cookie aws-waf-token

Tìm các giá trị ở đâu

Trên trang challenge của AWS WAF, key, iv và context nằm trong object window.gokuProps trong mã nguồn trang. Gửi chúng dưới dạng websiteKey, iv và context.

createTask và getTaskResult

Tạo tác vụ, chờ khoảng 5 giây, rồi kiểm tra kết quả mỗi 5 giây cho đến khi trạng thái là ready. Nếu tác vụ lỗi, API trả về lỗi và tiền được hoàn vào số dư.

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
  "clientKey": KEY,
  "task": {
      "type": "AmazonTaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AH...",
      "iv": "CgAFRjIw2vAAABSM",
      "context": "zPT0jOl1rQlUNaldX6LUpn4D6Tl9bJ8VUQ..."
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

while True:
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(r["errorCode"])   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"])
        break

in.php và res.php

Cùng tác vụ đó với API form kiểu cũ. Thêm json=1 để nhận phản hồi JSON; nếu không, phản hồi là văn bản thuần như OK|1001.

curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=amazon_waf&sitekey=KEY&iv=IV&context=CONTEXT&pageurl=https://example.com&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"}