UNLOCK API
Cloudflare Turnstile

Cloudflare Turnstile

createTask বা in.php দিয়ে UNLOCK API-তে Cloudflare Turnstile টাস্ক কীভাবে পাঠাবেন: টাস্ক টাইপের নাম, প্রতিটি প্যারামিটার, solution অবজেক্ট, proxy ফিল্ড এবং 7টি ভাষায় কোড উদাহরণ।
মূল্য
$0.55 প্রতি টাস্ক $0.00055
আপনি পাঠান
পেজ URL ও site key, উইজেটে থাকলে action ও cData
আপনি পাবেন
cf-turnstile-response-এর টোকেন

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

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

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

এগুলোও গ্রহণযোগ্য: AntiTurnstileTaskProxyless

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

type
Stringআবশ্যিক
টাস্ক টাইপের নাম। ছোট-বড় যেকোনো হাতের অক্ষরে মেলানো হয়। TurnstileTaskProxyless | TurnstileTask
websiteURL
Stringআবশ্যিক
যে পেজে CAPTCHA দেখা যায় তার পূর্ণ ঠিকানা, http:// বা https:// দিয়ে শুরু।
websiteKey
Stringআবশ্যিক
CAPTCHA উইজেটের site key, পেজের সোর্সে পাওয়া যায় (যেমন data-sitekey)।
action
Stringঐচ্ছিক
উইজেটের action প্যারামিটারের মান, পেজ যদি সেট করে।
data
Stringঐচ্ছিক
উইজেটের cData প্যারামিটারের মান, পেজ যদি সেট করে।
pagedata
Stringঐচ্ছিক
chlPageData প্যারামিটারের মান, পেজ যদি সেট করে।
userAgent
Stringঐচ্ছিক
সমাধানের সময় ব্যবহার করার ব্রাউজার User-Agent। উত্তর জমা দেওয়ার সময় একই User-Agent পাঠান।

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

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": "TurnstileTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
  }
}

Solution অবজেক্ট

status ready হলে solution-এ ফেরত দেওয়া হয়।
token
String
পেজের ফর্মের সঙ্গে জমা দেওয়ার টোকেন।
userAgent
String
সমাধানের সময় ব্যবহৃত User-Agent। টোকেন জমা দেওয়ার সময় একই User-Agent ব্যবহার করুন।
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "token": "0.zrSnRHO7h0HwSjSCU8oyzbjEtD8p...",
    "userAgent": "Mozilla/5.0 ..."
  },
  "cost": "0.00055",
  "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": "TurnstileTaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
    }
}).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"]["token"])
        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=turnstile&sitekey=SITE_KEY&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