UNLOCK API
Amazon AWS WAF

Amazon AWS WAF

Cara mengirim tugas Amazon AWS WAF 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.70 $0.0007 per tugas
Yang Anda kirim
URL halaman, site key WAF, serta nilai iv dan context dari halaman challenge
Yang Anda terima
Nilai untuk cookie aws-waf-token

Ringkasan dan harga

Nama tipe tugas

Pakai nama pertama untuk memecahkan tanpa proxy. Pakai nama kedua dan tambahkan field proxy untuk memecahkan lewat proxy Anda sendiri. Harganya sama.
AmazonTaskProxylessTanpa proxy
AmazonTaskLewat proxy Anda

Juga diterima: AntiAwsWafTaskProxyless, AntiAwsWafTask

Objek task

type
StringWajib
Nama tipe tugas. Huruf besar atau kecil tidak berpengaruh. AmazonTaskProxyless | AmazonTask
websiteURL
StringWajib
Alamat lengkap halaman tempat CAPTCHA muncul, diawali http:// atau https://.
websiteKey
StringWajib
Site key widget CAPTCHA, ada di source halaman (misalnya data-sitekey).
iv
StringWajib
Nilai iv dari halaman AWS WAF.
context
StringWajib
Nilai context dari halaman AWS WAF.
challengeScript
StringOpsional
Alamat skrip challenge.js.
captchaScript
StringOpsional
Alamat skrip captcha.js.

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

Field proxy

Hanya untuk nama tipe proxy. Kirim field terpisah atau satu string proxy.
proxyType
StringWajib
http, https, socks4, atau socks5.
proxyAddress
StringWajib
Alamat IP atau nama host proxy.
proxyPort
IntegerWajib
Port proxy.
proxyLogin
StringOpsional
Nama pengguna proxy, jika proxy memerlukannya.
proxyPassword
StringOpsional
Kata sandi proxy, jika proxy memerlukannya.
proxy
String
Semua field proxy dalam satu string, misalnya http://user:pass@1.2.3.4:8080.

Memakai proxy

Request

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AmazonTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AH...",
    "iv": "CgAFRjIw2vAAABSM",
    "context": "zPT0jOl1rQlUNaldX6LUpn4D6Tl9bJ8VUQ..."
  }
}

Objek solution

Dikembalikan di solution saat status ready.
captcha_voucher
String
Captcha voucher AWS WAF.
existing_token
String
Token AWS WAF. Kirim sebagai cookie aws-waf-token.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "captcha_voucher": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
    "existing_token": "f8ab5749-f916-4d29-91ff-a2b8c1e5d2a7:EQoAf0APpGIKAAAA..."
  },
  "cost": "0.0007",
  "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": "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"])

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=amazon_waf&sitekey=KEY&iv=IV&context=CONTEXT&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