UNLOCK API
Amazon AWS WAF

Amazon AWS WAF

createTask veya in.php ile UNLOCK API'ye Amazon AWS WAF görevi gönderme: görev türü adları, tüm parametreler, solution nesnesi, proxy alanları ve 7 dilde kod örnekleri.
Fiyat
$0.70 Görev başına $0.0007
Gönderdiğiniz
Sayfa URL'si, WAF site anahtarı ve challenge sayfasındaki iv ve context değerleri
Aldığınız
aws-waf-token çerezi için değerler

Genel bakış ve fiyat

Görev türü adları

Proxy olmadan çözmek için ilk adı kullanın. Kendi proxy'niz üzerinden çözmek için ikinci adı kullanın ve proxy alanlarını ekleyin. Fiyat aynıdır.
AmazonTaskProxylessProxy olmadan
AmazonTaskKendi proxy'nizle

Bunlar da kabul edilir: AntiAwsWafTaskProxyless, AntiAwsWafTask

Görev nesnesi

type
StringZorunlu
Görev türü adı. Büyük/küçük harf fark etmez. AmazonTaskProxyless | AmazonTask
websiteURL
StringZorunlu
CAPTCHA'nın göründüğü sayfanın http:// veya https:// ile başlayan tam adresi.
websiteKey
StringZorunlu
CAPTCHA widget'ının site anahtarı, sayfa kaynağında bulunur (örneğin data-sitekey).
iv
StringZorunlu
AWS WAF sayfasındaki iv değeri.
context
StringZorunlu
AWS WAF sayfasındaki context değeri.
challengeScript
Stringİsteğe bağlı
challenge.js betiğinin adresi.
captchaScript
Stringİsteğe bağlı
captcha.js betiğinin adresi.

Burada listelenmeyen alanlar, gönderildiği gibi çözücüye iletilir.

Proxy alanları

Yalnızca proxy'li tür adı için. Alanları ayrı ayrı veya tek bir proxy dizesi olarak gönderin.
proxyType
StringZorunlu
http, https, socks4 veya socks5.
proxyAddress
StringZorunlu
Proxy IP adresi veya ana bilgisayar adı.
proxyPort
IntegerZorunlu
Proxy bağlantı noktası.
proxyLogin
Stringİsteğe bağlı
Proxy gerektiriyorsa proxy kullanıcı adı.
proxyPassword
Stringİsteğe bağlı
Proxy gerektiriyorsa proxy parolası.
proxy
String
Tüm proxy alanları tek bir dizede, örneğin http://user:pass@1.2.3.4:8080.

Proxy kullanımı

İstek

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

solution nesnesi

status ready olduğunda solution içinde döndürülür.
captcha_voucher
String
AWS WAF captcha voucher değeri.
existing_token
String
AWS WAF token'ı. aws-waf-token çerezi olarak gönderin.
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
}

Kod örnekleri

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

in.php form yöntemi

Aynı görev, klasik form isteğiyle. res.php yanıtı metin olarak döndürür.
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 ve res.php