UNLOCK API
Amazon AWS WAF

Amazon AWS WAF

createTask বা in.php দিয়ে UNLOCK API-তে Amazon AWS WAF টাস্ক কীভাবে পাঠাবেন: টাস্ক টাইপের নাম, প্রতিটি প্যারামিটার, solution অবজেক্ট, proxy ফিল্ড এবং 7টি ভাষায় কোড উদাহরণ।
মূল্য
$0.70 প্রতি টাস্ক $0.0007
আপনি পাঠান
পেজ URL, WAF site key এবং challenge পেজের iv ও context মান
আপনি পাবেন
aws-waf-token কুকির মান

সংক্ষিপ্ত বিবরণ ও মূল্য

টাস্ক টাইপের নাম

proxy ছাড়া সমাধানের জন্য প্রথম নাম ব্যবহার করুন। নিজের proxy দিয়ে সমাধানের জন্য দ্বিতীয় নাম ব্যবহার করুন এবং proxy ফিল্ড যোগ করুন। মূল্য একই।
AmazonTaskProxylessপ্রক্সি ছাড়া
AmazonTaskআপনার প্রক্সি দিয়ে

এগুলোও গ্রহণযোগ্য: AntiAwsWafTaskProxyless, AntiAwsWafTask

টাস্ক অবজেক্ট

type
Stringআবশ্যিক
টাস্ক টাইপের নাম। ছোট-বড় যেকোনো হাতের অক্ষরে মেলানো হয়। AmazonTaskProxyless | AmazonTask
websiteURL
Stringআবশ্যিক
যে পেজে CAPTCHA দেখা যায় তার পূর্ণ ঠিকানা, http:// বা https:// দিয়ে শুরু।
websiteKey
Stringআবশ্যিক
CAPTCHA উইজেটের site key, পেজের সোর্সে পাওয়া যায় (যেমন data-sitekey)।
iv
Stringআবশ্যিক
AWS WAF পেজ থেকে iv মান।
context
Stringআবশ্যিক
AWS WAF পেজ থেকে context মান।
challengeScript
Stringঐচ্ছিক
challenge.js স্ক্রিপ্টের ঠিকানা।
captchaScript
Stringঐচ্ছিক
captcha.js স্ক্রিপ্টের ঠিকানা।

এখানে তালিকায় না থাকা ফিল্ড যেমন পাঠানো হয় তেমনই সলভারে দেওয়া হয়।

Proxy ফিল্ড

শুধু proxy টাইপ নামের জন্য। আলাদা ফিল্ড অথবা একটি proxy স্ট্রিং পাঠান।
proxyType
Stringআবশ্যিক
http, https, socks4 বা socks5।
proxyAddress
Stringআবশ্যিক
Proxy-র IP ঠিকানা বা হোস্ট নাম।
proxyPort
Integerআবশ্যিক
Proxy পোর্ট।
proxyLogin
Stringঐচ্ছিক
Proxy ইউজার নেম, proxy-তে লাগলে।
proxyPassword
Stringঐচ্ছিক
Proxy পাসওয়ার্ড, proxy-তে লাগলে।
proxy
String
সব proxy ফিল্ড একটি স্ট্রিংয়ে, যেমন http://user:pass@1.2.3.4:8080।

Proxy ব্যবহার

রিকোয়েস্ট

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 অবজেক্ট

status ready হলে solution-এ ফেরত দেওয়া হয়।
captcha_voucher
String
AWS WAF captcha voucher।
existing_token
String
AWS WAF টোকেন। এটি 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
}

কোড উদাহরণ

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 ফর্ম মেথড

ক্লাসিক ফর্ম রিকোয়েস্টে একই টাস্ক। res.php উত্তর টেক্সট হিসেবে ফেরত দেয়।
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"}

ফর্ম API: in.php ও res.php