Hướng dẫn
Nhiệm vụ (Token)
Cloudflare Challenge

Cloudflare: giải quyết Thử thách

MẸO

Tạo tác vụ bằng phương thức createTask và nhận kết quả bằng phương thức getTaskResult.

Lưu ý
  • Proxy là cần thiết, vui lòng sử dụng Static proxy hoặc Sticky proxy thay vì Rotating proxy.
  • Hỗ trợ userAgent tùy chỉnh, vui lòng giữ userAgent giống với userAgent bạn đang sử dụng.
  • Nếu bạn không nhận được giải pháp, IP của bạn có thể bị chặn, vui lòng thử đổi proxy.
  • Bạn phải sử dụng thư viện yêu cầu TLS để yêu cầu trang web mục tiêu.

Loại tác vụ type như sau

  • AntiCloudflareTask

Tạo Tác vụ

Tạo tác vụ bằng phương thức createTask.

Cấu trúc Đối tượng Tác vụ

Thuộc tínhKiểuBắt buộcMô tả
typeStringBắt buộcAntiCloudflareTask
websiteURLStringBắt buộcĐịa chỉ của trang đích.
proxyStringBắt buộcProxy Static hoặc Sticky của bạn. Tìm hiểu Cách sử dụng proxy
userAgentStringTùy chọnuser-agent bạn đã sử dụng để yêu cầu trang web mục tiêu. Chỉ hỗ trợ userAgent của Chrome

Ví dụ Yêu cầu

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AntiCloudflareTask",
    "websiteURL": "https://www.yourwebsite.com",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
    "proxy": "ip:port:user:pass"
  }
}

Ví dụ Phản hồi

{
  "errorId": 0,
  "status": "idle",
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}
 

Nhận Kết quả

Sử dụng phương thức getTaskResult để nhận kết quả nhận dạng

Tùy thuộc vào trang web và proxy, bạn sẽ nhận được kết quả trong khoảng thời gian từ 2s đến 20s

Ví dụ Yêu cầu

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}

Ví dụ Phản hồi

{
  "errorId": 0,
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca",
  "status": "ready",
  "errorCode": "",
  "errorDescription": "",
  "solution": {
    "cookies": {
        "cf_clearance": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc"
    },
    "token": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
  }
}

Sử dụng Yêu cầu SDK

# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
 
import capsolver
 
# capsolver.api_key = "..."
solution = capsolver.solve({
  "type": "AntiCloudflareTask",
  "websiteURL": "https://www.yourwebsite.com",
  "proxy": "ip:port:user:pass"
})

Mã Mẫu

# pip install requests
import requests
import time
 
api_key = "YOUR_API_KEY"  # your api key of capsolver
 
def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": "AntiCloudflareTask",
            "websiteURL": "https://www.yourwebsite.com",
            "proxy": "ip:port:user:pass"
        }
    }
    res = requests.post("https://api.capsolver.com/createTask", json=payload)
    resp = res.json()
    task_id = resp.get("taskId")
    if not task_id:
        print("Failed to create task:", res.text)
        return
    print(f"Got taskId: {task_id} / Getting result...")
 
    while True:
        time.sleep(1)  # delay
        payload = {"clientKey": api_key, "taskId": task_id}
        res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
        resp = res.json()
        status = resp.get("status")
        if status == "ready":
            return resp.get("solution", {})
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return
 
token = capsolver()
print(token)