UNLOCK API
صفحة تحدي Cloudflare

صفحة تحدي Cloudflare

كيف ترسل مهمة صفحة تحدي Cloudflare إلى UNLOCK API عبر createTask أو in.php: أسماء نوع المهمة، وكل معامل، وكائن solution، وحقول البروكسي، وأمثلة كود بـ 7 لغات.
السعر
$0.725 $0.000725 لكل مهمة
ترسل
رابط صفحة التحدي ووكيل المستخدم الخاص بك وبروكسي
تستلم
ملف تعريف ارتباط cf_clearance

نظرة عامة والسعر

أسماء نوع المهمة

هذا النوع يعمل دائمًا عبر البروكسي الخاص بك، لذا حقول البروكسي مطلوبة.
AntiCloudflareTaskعبر البروكسي الخاص بك

يُقبل أيضًا: CloudflareChallengeTask

كائن المهمة

type
Stringمطلوب
اسم نوع المهمة. يُطابق بأي حالة أحرف. AntiCloudflareTask
websiteURL
Stringمطلوب
العنوان الكامل للصفحة التي تظهر فيها الكابتشا، يبدأ بـ http:// أو https://.
userAgent
Stringمطلوب
قيمة User-Agent للمتصفح المستخدمة أثناء الحل. أرسل القيمة نفسها عند إرسال الإجابة.

الحقول غير المذكورة هنا تُمرر إلى الحلّال كما أُرسلت.

حقول البروكسي

هذا النوع يعمل دائمًا عبر البروكسي الخاص بك، لذا حقول البروكسي مطلوبة.
proxyType
Stringمطلوب
http أو https أو socks4 أو socks5.
proxyAddress
Stringمطلوب
عنوان IP للبروكسي أو اسم المضيف.
proxyPort
Integerمطلوب
منفذ البروكسي.
proxyLogin
Stringاختياري
اسم مستخدم البروكسي، إن كان البروكسي يتطلبه.
proxyPassword
Stringاختياري
كلمة مرور البروكسي، إن كان البروكسي يتطلبها.
proxy
String
كل حقول البروكسي في سلسلة واحدة، مثلًا http://user:pass@1.2.3.4:8080.

استخدام البروكسي

الطلب

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AntiCloudflareTask",
    "websiteURL": "https://example.com/login",
    "userAgent": "Mozilla/5.0 ...",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080
  }
}

كائن solution

يُرجع في solution عندما تكون status هي ready.
cf_clearance
String
ملف تعريف الارتباط cf_clearance. استخدمه مع قيمة User-Agent نفسها والبروكسي نفسه.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "cf_clearance": "Bi2Gmx0hTtMjhXAH_4WNDHgDTsAbqUqrlXy1q6p..."
  },
  "cost": "0.000725",
  "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": "AntiCloudflareTask",
      "websiteURL": "https://example.com/login",
      "userAgent": "Mozilla/5.0 ...",
      "proxyType": "http",
      "proxyAddress": "1.2.3.4",
      "proxyPort": 8080
    }
}).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

هذا النوع متاح عبر طرق JSON فقط.