UNLOCK API
หน้า Cloudflare Challenge

หน้า Cloudflare Challenge

วิธีส่งงาน หน้า Cloudflare Challenge ไปที่ UNLOCK API ด้วย createTask หรือ in.php: ชื่อประเภทงาน พารามิเตอร์ทุกตัว ออบเจ็กต์ solution ฟิลด์ proxy และตัวอย่างโค้ด 7 ภาษา
ราคา
$0.725 $0.000725 ต่องาน
สิ่งที่ส่ง
URL หน้า challenge, user agent ของคุณ และ proxy
สิ่งที่ได้
คุกกี้ cf_clearance

ภาพรวมและราคา

ชื่อประเภทงาน

ประเภทนี้ทำงานผ่าน proxy ของคุณเสมอ จึงต้องส่งฟิลด์ proxy
AntiCloudflareTaskผ่านพร็อกซีของคุณ

ชื่ออื่นที่รับได้: CloudflareChallengeTask

ออบเจ็กต์ task

type
Stringจำเป็น
ชื่อประเภทงาน ไม่สนตัวพิมพ์เล็กหรือใหญ่ AntiCloudflareTask
websiteURL
Stringจำเป็น
ที่อยู่เต็มของหน้าที่มี CAPTCHA ขึ้นต้นด้วย http:// หรือ https://
userAgent
Stringจำเป็น
User-Agent ของเบราว์เซอร์ที่ใช้ระหว่างแก้ ใช้ค่าเดียวกันเมื่อส่งคำตอบ

ฟิลด์ที่ไม่ได้ระบุไว้ที่นี่จะส่งต่อให้ผู้แก้ตามที่ส่งมา

ฟิลด์ proxy

ประเภทนี้ทำงานผ่าน proxy ของคุณเสมอ จึงต้องส่งฟิลด์ proxy
proxyType
Stringจำเป็น
http, https, socks4 หรือ socks5
proxyAddress
Stringจำเป็น
IP address หรือชื่อโฮสต์ของ proxy
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": "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 และ proxy เดียวกัน
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")

method ฟอร์มของ in.php

ประเภทนี้ใช้ได้กับ method แบบ JSON เท่านั้น