logo
bars
Trả tiền cho mỗi lần giải quyết · API

Bộ giải Cloudflare Challenge

CapMonster Cloud là bộ giải Cloudflare Challenge với API. Nó trả về cookie token hoặc cf_clearance để quá trình tự động hóa của bạn tiếp tục mà không cần thực hiện bước thủ công.

Cập nhật lần cuối:

Kiểm tra miễn phí: Số dư kiểm tra $0,10 ↓
Thời gian giải quyết trung bình
12 – 14 s
Tỷ lệ thành công
99%
trên 1000 token
$ 1.30

Giá bộ giải Cloudflare Challenge

CAPTCHA
Giá (USD)
$ 1.30
1000 token
Chọn Cloudflare Challenge hoặc Cửa quay

Cloudflare Challenge so với Cloudflare Turnstile

Cách phân biệt Thử thách với Turnstile

Cloudflare Challenge và tiện ích Turnstile có thể trông giống nhau. Thử thách không phải lúc nào cũng là một trang “Chỉ một lát…” riêng biệt: nó có thể được tạo kiểu, nhúng vào trang web hoặc được tạo để trông giống như một tiện ích Turnstile thông thường, do đó bạn không thể phân biệt chúng bằng hình thức bên ngoài.

Nên sử dụng bộ giải CapMonster Cloud nào

Cloudflare Turnstile

tiện ích
Bạn nhìn thấy nó ở đâu
Một tiện ích bên trong một trang hoặc biểu mẫu
Những gì nó trả về
Một token trong cf-turnstile-response
trang CapMonster
Bộ giải Cloudflare Turnstile

Cloudflare Challenge

403 · challenge-form
Bạn nhìn thấy nó ở đâu
Kiểm tra theo kiểu được nhúng vào trang web hoặc trang chuyển tiếp; được xác định bởi 403 theo yêu cầu đầu tiên và challenge-form với __cf_chl_f_tk=
Những gì nó trả về
Cookie token hoặc cf_clearance
trang CapMonster
Trang này: Bộ giải Cloudflare Challenge

Nếu có những dấu hiệu này thì đó là Cloudflare Challenge: sử dụng bộ giải Cloudflare Challenge trên trang này để trả về token hoặc cookie cf_clearance. Nếu không, hãy sử dụng bộ giải Cloudflare Turnstile.

So sánh bộ giải Cloudflare Challenge

Bảng liệt kê giá trên 1000 lần giải, thời gian giải trung bình và tỷ lệ giải thành công cho bốn dịch vụ giải Cloudflare Challenge.

tham sốCapMonster Cloud2Hình ảnh xác thựcChống CaptchaTrình giải mã Captcha tốt nhất
Giá trên 1000 giải quyết
$ 1.30$1.45$2.00$1.80
Thời gian giải quyết trung bình
12 – 14 s14 – 18 s18 – 22 s22 – 30 s
Giải quyết tỷ lệ thành công
99%97%95%80%

Giá Cloudflare Turnstile do nhà cung cấp niêm yết; Cloudflare Challenge không được liệt kê riêng.

2Captcha, Anti-Captcha và BestCaptchaSolver là thương hiệu của chủ sở hữu tương ứng. CapMonster Cloud không liên kết với các thực thể này. Các chỉ số hiệu suất dựa trên điểm chuẩn nội bộ được thực hiện vào ngày 26/08/2026. So sánh giá dựa trên dữ liệu có sẵn công khai kể từ 30.09.2026.

Kiểm tra nó miễn phí

Giải Cloudflare Challenge trong vài giây

Tỷ lệ chuyền thành công 99%. Kiểm tra tính ổn định trên các trang web mục tiêu của riêng bạn ngay bây giờ. Chúng tôi không đảm bảo tỷ lệ thành công 100%: loại CAPTCHA và cấu hình trang đích có thể thay đổi bất kỳ lúc nào.

$0.10

Người dùng mới nhận được 0,10 USD trong số dư thử nghiệm để dùng thử CapMonster Cloud.

  1. 1. Đăng ký tại CapMonster Cloud.

  2. 2. Nhắn hỗ trợ qua chat trực tiếp hoặc support@capmonster.cloud kèm email gắn với tài khoản của bạn.

Không cần thẻ tín dụng · SDK làm sẵn cho Python, Node.js, C#

Các đội sử dụng giải pháp Cloudflare Challenge để làm gì

QA và thử nghiệm từ đầu đến cuối

Chạy các luồng đăng ký, thanh toán và biểu mẫu trong CI/CD với Playwright, Puppeteer hoặc Selenium trên các trang bạn sở hữu hoặc được phép kiểm tra.

Giám sát

Kiểm tra xem các trang đằng sau Cloudflare Challenge có thể truy cập được sau khi phát hành và thay đổi quy tắc hay không.

Dữ liệu có sẵn công khai

Thu thập dữ liệu có sẵn công khai từ các trang mở được bảo vệ bởi Cloudflare Challenge.

Khả năng tiếp cận

Hỗ trợ quy trình công việc hỗ trợ tự động trên các trang web hiển thị trang xác minh trước khi tải.

đặc vụ AI

Cho phép tổng đài viên yêu cầu cookie token hoặc cf_clearance thông qua MCP khi quy trình công việc gặp phải thách thức.

Chỉ sử dụng hợp pháp

Sử dụng CapMonster Cloud cho dữ liệu có sẵn công khai và trên các trang web bạn sở hữu hoặc được ủy quyền kiểm tra. Việc thu thập dữ liệu của bên thứ ba sau thông tin đăng nhập hoặc tường phí mà không được phép đều bị cấm.

Các loại thử thách Cloudflare

Cách Cloudflare giải quyết và kiểm tra các thách thức

Cloudflare phục vụ ba loại trang thử thách: JS Challenge, Managed Challenge và Interactive Challenge. Liệu một thử thách có được hiển thị hay không sẽ được quyết định bởi các quy tắc WAF hoặc Bot Management. CapMonster Cloud bao gồm ba loại thử thách bên dưới; WAF / Bot Management là sản phẩm rộng hơn và được liệt kê riêng.

Sources: Tài liệu Cloudflare — Cách thức hoạt động của các thử thách · Các trang thử thách xen kẽ · Chế độ bị tấn công

“Thử thách 5 giây”

1. JS Challenge

Kiểm tra quảng cáo xen kẽ không tương tác: trình duyệt chạy JavaScript và Cloudflare chấm điểm kết quả trước khi tải trang. Không cần người dùng action.

Xuất hiện ở đâu
Trang trung gian có kiểm tra nền
Kết quả trả về
Cookie cf_clearance (mặc định)

bao gồm Under Attack Mode

2. Managed Challenge

Với Cloudflare Managed Challenge, Cloudflare tự động chọn kiểm tra từ các đặc điểm yêu cầu và tín hiệu trình duyệt. Under Attack Mode sử dụng Managed Challenge.

Xuất hiện ở đâu
Trang trung gian; Cloudflare chọn loại kiểm tra
Kết quả trả về
Cookie cf_clearance (mặc định)

tiện ích trên trang xen kẽ

3. Interactive Challenge

Trang Interactive Challenge yêu cầu khách truy cập tương tác với thử thách để vượt qua.

Xuất hiện ở đâu
Trang trung gian có kiểm tra tương tác bắt buộc
Kết quả trả về
Cookie cf_clearance (mặc định)

4. WAF / Bot Management

Lớp quy tắc và tính điểm quyết định thời điểm thực hiện thử thách bot Cloudflare. Cloudflare tính toán quyết định này bằng cách sử dụng các công cụ phát hiện, bao gồm:

Xuất hiện ở đâu
Lớp quy tắc xử lý yêu cầu và chấm điểm rủi ro
Kết quả trả về
Không tự trả về kết quả — dựa trên điểm rủi ro, kích hoạt một trong các hành động ở trên (hoặc chặn)

Rộng hơn ba loại thử thách và không phải là từ đồng nghĩa với chúng.

  • Heuristics engine khớp mọi yêu cầu với cơ sở dữ liệu về dấu vân tay bot đã biết.
  • JS Detections engine một JavaScript tùy chọn, vô hình phía máy khách kiểm tra xem có gắn cờ các trình duyệt không có giao diện người dùng hay không.
  • Machine Learning engine một mô hình được giám sát tạo ra Điểm Bot, từ 1–99, từ các mẫu trên hàng tỷ yêu cầu hàng ngày.

Sources: Điểm bot · Công cụ phát hiện bot · Phát hiện JavaScript

Quy trình làm việc Cloudflare Challenge

  1. 1. Yêu cầu

    Trình duyệt yêu cầu một trang được bảo vệ. Cloudflare Bot Management chấm điểm yêu cầu bằng dấu vân tay TLS, danh tiếng IP và tín hiệu hành vi.

  2. 2. Điểm bot

    Các công cụ Chẩn đoán, Phát hiện JS và Học máy tạo ra Điểm Bot từ 1 đến 99 và các quy tắc WAF quyết định xem có đưa ra thử thách hay không.

  3. 3. Trang xen kẽ

    Nếu yêu cầu có vẻ đáng ngờ, Cloudflare sẽ trả về trang “Chỉ một lát…” với mã trạng thái 403 và chạy JS Challenge, Managed Challenge hoặc Interactive Challenge.

  4. 4. cf_clearance

    Khi quá trình kiểm tra thành công, Cloudflare sẽ phát hành cookie cf_clearance gắn với khách truy cập và thiết bị và có hiệu lực trong một khoảng thời gian giới hạn.

  5. 5. Truy cập

    Trình duyệt tải trang gốc bằng cookie. Cloudflare tiếp tục đánh giá lại hành vi phiên (Precursor clearance) và có thể đưa ra một thách thức mới.

Cookie cf_clearance là gì?

cf_clearance là cookie Cloudflare phát sinh sau khi khách truy cập vượt qua Cloudflare Challenge. Trình duyệt gửi nó cùng với các yêu cầu sau đến trang web được bảo vệ và trang sẽ mở ra mà không gặp thử thách lặp lại.

Thuộc tính của cookie, theo tài liệu của Cloudflare:

Khách truy cập và thiết bị

Gắn với khách truy cập và thiết bị được cấp.

Trọn đời

Có hiệu lực trong một khoảng thời gian giới hạn (30 phút theo mặc định; trang web đặt nó bằng Vượt qua thử thách): một tập lệnh chạy dài phải vượt qua kiểm tra lại sau khi hết hạn.

Xác minh quyền truy cập

Bản thân nó không phải là sự đảm bảo: Precursor clearance liên tục đánh giá lại hành vi của phiên và có thể kích hoạt thử thách lặp lại ngay cả khi cookie chưa hết hạn.

Điều gì làm mất hiệu lực cookie cf_clearance

Ràng buộc

Thay đổi về khách truy cập hoặc thiết bị

Quyền truy cập được đặt lại: cookie được liên kết với khách truy cập và thiết bị được cấp cho

Trọn đời

Hết hạn

Cookie ngừng hoạt động; kịch bản phải vượt qua kiểm tra lại

Hành vi

Precursor clearance

Cloudflare có thể hạ thấp hoặc đặt lại mức độ thông thoáng và thực hiện thử thách lặp đi lặp lại nếu lưu lượng truy cập có vẻ đáng ngờ

Mã thông báo hoặc cf_clearance: kết quả nào để yêu cầu

Dành cho nhà phát triển sử dụng CapMonster Cloud để nhận token hoặc cf_clearance

Tham số cloudflareTaskType của TurnstileTask quyết định CapMonster Cloud trả về cái gì. Chọn tùy chọn tùy thuộc vào những gì trang web mục tiêu yêu cầu: token cho thử thách callback trên trang hoặc cookie cf_clearance cho các yêu cầu tiếp theo của bạn.

Mã thông báo và cf_clearance

tham sốMã thông báocf_clearance
cloudflareTaskTypetokencf_clearance
ủy nhiệmTùy chọnchạy trên proxy CapMonster Cloud theo mặc địnhBắt buộcproxy của riêng bạn
websiteKeyKhóa Cloudflare Challenge, ví dụ: 0x4AAAAAAABUYP0XeMJF0xoyBất kỳ chuỗi nào, ví dụ: xxxxxx
Dữ liệu trangpageAction, data (cData), pageData (chlPageData)htmlPageBase64 — Base64 của trang 403 “Chỉ một chút thôi”
kết quảsolution.tokensolution.cf_clearance
Sử dụng nó ở đâuThử thách callback trên trangTiêu đề Cookie: cf_clearance=<value> hoặc ngữ cảnh trình duyệt

Các loại proxy được hỗ trợ (cf_clearance)

proxyTypeMô tả
httpProxy HTTP thông thường
httpsSử dụng cho một số proxy tùy chỉnh
socks4Proxy SOCKS4
socks5Proxy SOCKS5

Tham chiếu thông số đầy đủ: Tài liệu tác vụ Cloudflare Challenge.

Cách sử dụng Bộ giải Cloudflare Challenge

CapMonster Cloud API hoạt động như một bộ giải cf_clearance: nó chấp nhận các tham số tác vụ, xử lý chúng trên máy chủ của nó và trả về token hoặc cookie cf_clearance. Việc giải Cloudflare Challenge thực hiện bốn bước: lấy khóa API, gửi nhiệm vụ, thăm dò kết quả và sử dụng token hoặc cookie được trả về trong các yêu cầu của riêng bạn.

Kịch bản của bạnCapMonster Cloud APITrang web mục tiêu

Nhận khóa API của bạn

  • Tạo một tài khoản trong CapMonster Cloud.
  • Mở dashboard và tìm khóa API của bạn.
  • Sử dụng khóa này làm tham số clientKey trong yêu cầu của bạn.

Gửi nhiệm vụ — createTask

Gọi createTask với loại TurnstileTask. Tham số cloudflareTaskType quyết định những gì bạn nhận được: token hoặc cf_clearance cookie. Chọn tùy chọn tùy thuộc vào những gì trang web mục tiêu yêu cầu. Xem Cách phân biệt Thử thách với Cửa quay.

Tùy chọn 1 · Thử thách (token) — chạy trên proxy CapMonster Cloud theo mặc định. Các trường bắt buộc:

tham sốMô tả
loạiTurnstileTask
websiteURLURL của trang nơi thử thách được giải quyết
websiteKeyKhóa Cloudflare Challenge, ví dụ: 0x4AAAAAAABUYP0XeMJF0xoy
cloudflareTaskTypetoken
pageActionTrường action từ hình ảnh xác thực callback, thường là managed hoặc non-interactive
userAgentUA hiện tại được hỗ trợ bởi CapMonster Cloud. Bạn có thể nhận giá trị mới nhất tại https://capmonster.cloud/api/useragent/actual.
dữ liệuGiá trị của tham số cData
pageDataGiá trị của tham số chlPageData

Tùy chọn: apiJsUrl và các trường proxy. Chỉ cần có proxy riêng khi trang web không chấp nhận token hoặc các dịch vụ tích hợp bị hạn chế; với ủy quyền IP, danh sách trắng 65.21.190.34.

Yêu cầu ví dụ:

json
{
  "clientKey": "API_KEY",
  "task": {
    "type": "TurnstileTask",
    "websiteURL": "https://yourwebsite.com/page-with-cf-challenge",
    "websiteKey": "your-website-key",
    "cloudflareTaskType": "token",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    "pageAction": "your-page-action",
    "pageData": "your-page-data",
    "data": "your-data"
  }
}

Tùy chọn 2 · Thử thách (cookie) — yêu cầu proxy của riêng bạn. Các trường bắt buộc:

tham sốMô tả
loạiTurnstileTask
websiteURLURL của trang nơi thử thách được giải quyết
websiteKeyBất kỳ chuỗi nào cũng có thể được thông qua, ví dụ: xxxxxx
cloudflareTaskTypecf_clearance
htmlPageBase64Base64 của trang “Chỉ một lát” trở lại với trạng thái 403
userAgentUA hiện tại được hỗ trợ bởi CapMonster Cloud. Bạn có thể nhận giá trị mới nhất tại https://capmonster.cloud/api/useragent/actual.
proxyTypehttp, https (đối với một số proxy tùy chỉnh), socks4, socks5
proxyAddress, proxyPort, proxyLogin, proxyPasswordNgười đại diện của bạn. Proxy trong suốt và máy cục bộ không được phép.

Yêu cầu ví dụ:

json
{
  "clientKey": "API_KEY",
  "task": {
    "type": "TurnstileTask",
    "websiteURL": "https://yourwebsite.com/page-with-cf-challenge",
    "websiteKey": "xxxxxxxxxx",
    "cloudflareTaskType": "cf_clearance",
    "htmlPageBase64": "PCFET0NUWVBFIGh0...vYm9keT48L2h0bWw+",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    "proxyType": "your-proxy-type",
    "proxyAddress": "your-proxy-address",
    "proxyPort": 1234,
    "proxyLogin": "your-proxy-login",
    "proxyPassword": "your-proxy-password"
  }
}

Điểm cuối và phản hồi - giống nhau cho cả hai tùy chọn:

text
POST https://api.capmonster.cloud/createTask
{
  "errorId": 0,
  "taskId": 407533072,
  "errorCode": null,
  "errorDescription": null
}

Thăm dò kết quả - getTaskResult

Thăm dò getTaskResult bằng taskId cho đến khi status trở thành ready. Yêu cầu giống hệt nhau cho cả hai tùy chọn; đối tượng solution mang bất kỳ kết quả nào bạn yêu cầu.

Điểm cuối và yêu cầu:

text
POST https://api.capmonster.cloud/getTaskResult
{
  "clientKey": "API_KEY",
  "taskId": 407533072,
  "errorCode": null,
  "errorDescription": null
}

Tùy chọn 1 · Thử thách (token) — solution.token

json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    "token": "0.iGX3xsyFCkbGePM3jP4P4khLo6TrLukt8ZzBvwuQOvbC...f61f3082"
  }
}

Sử dụng token khi gọi hàm callback trên trang.

Tùy chọn 2 · Thử thách (cookie) — solution.cf_clearance

json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "cf_clearance": "1tarGvbY2_ZhQdYxpSBloao.FoOn9VtcJtmb_IQ_hCE-1761217338-1.2.1.1-vyVPoLYIGX0...ZHi.w"
  }
}

Cookie Cloudflare đặc biệt mà bạn thêm vào trình duyệt của mình hoặc gửi cùng với các yêu cầu HTTP thô.

Sử dụng token hoặc cookie được trả lại

Nếu bạn sử dụng cookie, hãy chuyển giá trị của nó trong tiêu đề Cookie: cf_clearance=<value> cho các yêu cầu HTTP thô hoặc đặt nó trong ngữ cảnh trình duyệt trước khi yêu cầu lại URL được bảo vệ.

Nếu bạn sử dụng token, hãy chuyển nó tới thử thách callback trên trang.

Cách tìm thông số Cloudflare Challenge

Tùy chọn token cần các giá trị mà trang chuyển tới turnstile.render khi thử thách bắt đầu: sitekey (websiteKey), action (pageAction), cData (dữ liệu) và chlPageData (pageData). Tùy chọn cookie cần có HTML của trang thử thách trong htmlPageBase64; websiteKey có thể là bất kỳ chuỗi nào.

Cách tìm thông số Cloudflare Challenge
javascript
(function () {
  const obj = {
    render: function () {
      const { action, cData, chlPageData } = arguments[1];
      console.table([["action", action], ["data", cData], ["pageData", chlPageData]]);
    }
  };
  Object.defineProperty(window, "turnstile", { get: () => obj });
})();
sitekey → websiteKey
action → pageAction
cData → data
chlPageData → pageData
  1. Chạy JavaScript này trước khi tải các tập lệnh khác của trang — nó thay thế window.turnstile và in các tham số được chuyển tới render.

  2. Đọc action (pageAction), cData (dữ liệu) và chlPageData (pageData) từ bảng trong bảng điều khiển; sitekey (websiteKey) được truyền trong cùng một đối tượng. pageAction thường là managed hoặc non-interactive.

  3. Để tự động thu thập các giá trị, hãy sử dụng trình duyệt được điều khiển bởi Playwright (thông thường hoặc không có đầu): bọc window.turnstile trong Proxy và chặn render. Các ví dụ sẵn có trong JavaScript, Python và C# có trong tài liệu.

  4. Một số giá trị thay đổi mỗi lần hiển thị trang thử thách, vì vậy hãy tạo nhiệm vụ ngay sau khi bạn thu thập chúng.

javascript
fetch('https://example.com')
  .then(res => res.arrayBuffer())
  .then(buf => console.log(btoa(String.fromCharCode(...new Uint8Array(buf)))));
  1. Yêu cầu trang web được bảo vệ; nó trả về trang “Đợi một lát…” với mã trạng thái 403.

  2. Mã hóa trang đó trong Base64 — đây là htmlPageBase64 (đoạn mã hiển thị một cách; các ví dụ Playwright với page.content() có trong tài liệu).

  3. Truyền bất kỳ chuỗi nào dưới dạng websiteKey (ví dụ xxxxxx) và sử dụng proxy của riêng bạn.

  4. Tạo nhiệm vụ ngay sau khi bạn thu thập các giá trị.

Bộ giải Cloudflare Challenge với SDK chính thức

CapMonster Cloud cung cấp các thư viện được tạo sẵn để làm việc thuận tiện trong Python, JavaScript (Node.js) và C#.
Dưới đây là các ví dụ về mã cho biết cách tạo tác vụ giải CAPTCHA bằng createTask và truy xuất kết quả bằng getTaskResult bằng thư viện máy khách của chúng tôi.
SDK chính thức
Python
python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import TurnstileRequest
API_KEY = "YOUR_API_KEY"
async def solve_turnstile_challenge():
    client = CapMonsterClient(options=ClientOptions(api_key=API_KEY))
    # Ví dụ cơ bản không có proxy; CapMonster Cloud tự động sử dụng proxy riêng của mình
    turnstile_request = TurnstileRequest(
        websiteURL="https://yourwebsite.com/page-with-cf-challenge",
        websiteKey="your-website-key",
        data="your-data",
        pageAction="managed",
        cloudflareTaskType="token",
        pageData="your-page-data",
        userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    )
    balance = await client.get_balance()
    print("Balance:", balance)
    result = await client.solve_captcha(turnstile_request)
    print("Solution:", result)
asyncio.run(solve_turnstile_challenge())
python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import TurnstileRequest
from capmonstercloudclient.requests.proxy_info import ProxyInfo
API_KEY = "YOUR_API_KEY"
async def main():
    client = CapMonsterClient(options=ClientOptions(api_key=API_KEY))
    # Cloudflare cf_clearance chỉ có thể được giải quyết bằng proxy của riêng bạn
    proxy = ProxyInfo(proxyType="http", proxyAddress="123.45.67.89", proxyPort=8080, proxyLogin="username", proxyPassword="password")
    turnstile_request = TurnstileRequest(
        websiteURL="https://yourwebsite.com/page-with-cf-challenge",
        websiteKey="your-website-key",
        cloudflareTaskType="cf_clearance",
        proxy=proxy,
        htmlPageBase64="your_html_page_base64",
        userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    )
    balance = await client.get_balance()
    print("Balance:", balance)
    result = await client.solve_captcha(turnstile_request)
    print("Solution:", result)
asyncio.run(main())
Node.js
javascript
const { CapMonsterCloudClientFactory, ClientOptions, TurnstileRequest } = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY";
(async () => {
  const client = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
  // Ví dụ cơ bản không có proxy; CapMonster Cloud tự động sử dụng proxy riêng của mình
  const turnstileRequest = new TurnstileRequest({
    websiteURL: "https://yourwebsite.com/page-with-cf-challenge",
    websiteKey: "your-website-key",
    data: "your-data",
    pageAction: "managed",
    cloudflareTaskType: "token",
    pageData: "your-page-data",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
  });
  const balance = await client.getBalance();
  console.log("Balance:", balance);
  const result = await client.Solve(turnstileRequest);
  console.log("Solution:", result.solution);
})();
javascript
const { CapMonsterCloudClientFactory, ClientOptions, TurnstileRequest } = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY";
async function solveTurnstileCfClearance() {
  const client = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
  // Cloudflare cf_clearance chỉ có thể được giải quyết bằng proxy của riêng bạn
  const proxy = { proxyType: "http", proxyAddress: "123.45.67.89", proxyPort: 8080, proxyLogin: "username", proxyPassword: "password" };
  const turnstileRequest = new TurnstileRequest({
    websiteURL: "https://yourwebsite.com/page-with-cf-challenge",
    websiteKey: "xxxxxxx",
    cloudflareTaskType: "cf_clearance",
    proxy,
    htmlPageBase64: "your_html_page_base64",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
  });
  const balance = await client.getBalance();
  console.log("Balance:", balance);
  const result = await client.Solve(turnstileRequest);
  console.log("Solution:", result.solution);
}
solveTurnstileCfClearance().catch(console.error);
C#
csharp
using System;
using System.Threading.Tasks;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
    static async Task Main(string[] args)
    {
        var clientOptions = new ClientOptions { ClientKey = "YOUR_API_KEY" };
        var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
        // Ví dụ cơ bản không có proxy; CapMonster Cloud tự động sử dụng proxy riêng của mình
        var turnstileRequest = new TurnstileRequest
        {
            WebsiteUrl = "https://yourwebsite.com/page-with-cf-challenge",
            WebsiteKey = "your-website-key",
            Data = "your-data",
            PageAction = "managed",
            CloudflareTaskType = "token",
            PageData = "your-page-data",
            UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36"
        };
        var balance = await cmCloudClient.GetBalanceAsync();
        Console.WriteLine("Balance: " + balance);
        var turnstileResult = await cmCloudClient.SolveAsync(turnstileRequest);
        Console.WriteLine("Solution: " + turnstileResult.Solution.Value);
    }
}
csharp
using System;
using System.Threading.Tasks;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
    static async Task Main(string[] args)
    {
        var clientOptions = new ClientOptions { ClientKey = "YOUR_API_KEY" };
        var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
        // Cloudflare cf_clearance chỉ có thể được giải quyết bằng proxy của riêng bạn
        var turnstileRequest = new TurnstileRequest
        {
            WebsiteUrl = "https://yourwebsite.com/page-with-cf-challenge",
            WebsiteKey = "your-website-key",
            CloudflareTaskType = "cf_clearance",
            HtmlPageBase64 = "your_html_page_base64",
            UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
            Proxy = new ProxyContainer("123.45.67.89", 8080, ProxyType.Http, "username", "password")
        };
        var balance = await cmCloudClient.GetBalanceAsync();
        Console.WriteLine("Balance: " + balance);
        var turnstileResult = await cmCloudClient.SolveAsync(turnstileRequest);
        Console.WriteLine("Solution: " + turnstileResult.Solution.Clearance);
    }
}

Đối với quy trình công việc mã thấp, hãy sử dụng CapMonster Cloud nút n8n chính thức .

Sử dụng cookie cf_clearance trong yêu cầu của bạn

text
GET https://example.com/protected-page
User-Agent: <userAgent from the task>
Cookie: cf_clearance=<value>
cùng một proxycùng User-Agentcookie chưa hết hạn

Chuyển giá trị được trả về trong tiêu đề Cookie: cf_clearance=<value> cho các yêu cầu HTTP thô hoặc đặt giá trị đó trong ngữ cảnh trình duyệt trước khi yêu cầu lại URL được bảo vệ. Trong các ví dụ chính thức, cùng một proxy và cùng một User-Agent được sử dụng để tải trang, giải quyết tác vụ và gửi yêu cầu bằng cookie.

Trong Selenium, Playwright hoặc Puppeteer, hãy đặt cookie bằng phương thức riêng của khung trước khi điều hướng đến URL được bảo vệ — sau đó trình duyệt sẽ mở trang mà không gặp thử thách lặp lại. Nếu bạn đã yêu cầu token, hãy chuyển nó tới thử thách callback trên trang.

Background

Lỗi Cloudflare Challenge và cách khắc phục

Hầu hết các lỗi Cloudflare Challenge đều xuất phát từ cookie cf_clearance đã hết hạn hoặc không khớp, proxy mà dịch vụ không chấp nhận hoặc các tham số trang đã lỗi thời. Mỗi thẻ dưới đây nêu tên lỗi và cách khắc phục.
Bug Icon

Thử thách lặp đi lặp lại hoặc 403 sau khi giải quyết

Yêu cầu không có cookie cf_clearance hợp lệ, cookie đã hết hạn hoặc Cloudflare đã kiểm tra lại phiên (Precursor clearance). Yêu cầu một cookie mới.
Bug Icon

Proxy hoặc User-Agent khác với nhiệm vụ

Sử dụng cùng một proxy và cùng một userAgent như trong tác vụ khi yêu cầu trang được bảo vệ, như trong các ví dụ chính thức. Cloudflare cũng lưu ý rằng Managed Challenge được giải quyết từ một IP khác với IP được cấp là không hợp lệ và có thể gây ra vòng thử thách — xem tài liệu Cloudflare.
Bug Icon

Cookie đã hết hạn

Cookie có giá trị trong một thời gian giới hạn. Một tập lệnh chạy dài phải giải quyết lại thử thách sau khi nó hết hạn.
Bug Icon

Proxy không được chấp nhận

Sử dụng http, https, socks4 hoặc socks5.
Bug Icon

Thông số trang lỗi thời

Một số giá trị thay đổi trên mỗi lần hiển thị của trang thử thách. Giải nén chúng ngay trước khi tạo tác vụ.

Câu hỏi thường gặp về Cloudflare Challenge

Cloudflare Challenge là gì?

Cloudflare Challenge là bước kiểm tra trung gian mà Cloudflare hiển thị trước khi cấp quyền truy cập vào một trang được bảo vệ khi quy tắc WAF, Bot Management hoặc giới hạn tốc độ cho rằng yêu cầu đó đáng ngờ (ví dụ: dựa trên dấu vân tay TLS, danh tiếng IP hoặc tín hiệu hành vi). Trong khi quá trình kiểm tra đang diễn ra, khách truy cập sẽ thấy trang trung gian "Đợi một lát...". Nếu quá trình kiểm tra được thực hiện thành công, Cloudflare sẽ phát hành cookie cf_clearance — cookie này được liên kết với khách truy cập và thiết bị và có hiệu lực trong một khoảng thời gian giới hạn — sau đó trình duyệt sẽ có quyền truy cập vào trang gốc.

Sự khác biệt giữa JS Challenge, Managed Challenge và Cửa quay là gì?

Cả ba đều dựa vào tín hiệu phía máy khách từ trình duyệt. JS Challenge (không tương tác) chạy ở chế độ nền, thường trong vòng chưa đầy năm giây; nếu nó không được vượt qua, Cloudflare sẽ hiển thị một trang thử thách khác. Managed Challenge cho phép Cloudflare chọn kiểm tra một cách linh hoạt từ các đặc điểm yêu cầu và tín hiệu trình duyệt cho đến bước tương tác. Turnstile là một tiện ích có thể nhúng sẽ trả về token để được xác thực thông qua Siteverify API; với tính năng giải phóng mặt bằng tùy chọn, nó cũng có thể phát hành cookie cf_clearance.

Tại sao tôi liên tục gặp lỗi Cloudflare CAPTCHA, trang xác minh hoặc lỗi 403?

Thử thách lặp lại hoặc 403 có nghĩa là yêu cầu không có cookie cf_clearance hợp lệ, cookie đã hết hạn hoặc yêu cầu đến từ một khách truy cập hoặc thiết bị khác với thiết bị được cấp cookie. Ngay cả cookie hợp lệ cũng không đảm bảo quyền truy cập: Cloudflare duy trì Precursor clearance — liên tục đánh giá lại hành vi phiên có thể hạ thấp hoặc đặt lại mức độ cho phép và kích hoạt thử thách lặp lại nếu mẫu lưu lượng truy cập bắt đầu có vẻ đáng ngờ.

CapMonster Cloud giải quyết Cloudflare Challenge như thế nào?

CapMonster Cloud giải quyết nhiệm vụ không đồng bộ thông qua hai lệnh gọi API: createTask với các tham số nhiệm vụ, sau đó thăm dò getTaskResult cho đến khi giải pháp sẵn sàng. Tùy thuộc vào loại tác vụ, dịch vụ trả về token — được chèn vào callback mà không cần proxy — hoặc cookie cf_clearance, trong đó proxy là bắt buộc. Sau đó, bạn chuyển giá trị kết quả vào tiêu đề Cookie: cf_clearance=<value> của các yêu cầu HTTP thông thường hoặc đặt giá trị đó trong ngữ cảnh trình duyệt — sau đó trang được bảo vệ sẽ mở ra mà không vượt qua kiểm tra theo cách thủ công.

Làm cách nào để giải quyết Cloudflare Challenge trong dự án của tôi?

Gửi yêu cầu POST tới createTask bằng clientKey (khóa API) của bạn và các tham số tác vụ, đợi kết quả sẵn sàng bằng cách thăm dò getTaskResult (cho đến khi trạng thái là ready), sau đó sử dụng token hoặc cookie trong ứng dụng khách HTTP hoặc tự động hóa trình duyệt của bạn. Để tích hợp sẵn, hãy sử dụng SDK chính thức trong kho CapMonster Cloud trên GitHub — chúng bao bọc chu trình createTask / getTaskResult thành một lệnh gọi duy nhất.

Tôi có cần proxy để giải quyết Thử thách Cloudflare không?

Proxy chỉ bắt buộc đối với tác vụ trả về cookie cf_clearance. Trong các ví dụ chính thức, proxy tương tự sẽ được sử dụng cho các yêu cầu sau. Để có kết quả token, không cần có proxy — CapMonster Cloud sử dụng proxy tích hợp theo mặc định (nếu bạn đưa vào danh sách trắng theo IP, hãy thêm 65.21.190.34). Các loại được hỗ trợ: http, https, socks4, socks5; không được phép sử dụng proxy minh bạch và proxy trên máy cục bộ.

Tôi có thể sử dụng CapMonster Cloud làm bộ giải Cloudflare Challenge với n8n hoặc Selenium không?

Vâng. Đối với n8n, có nút CapMonster Cloud chính thức — được cài đặt từ giao diện hoặc qua npm install @zennolab_com/n8n-nodes-capmonstercloud trên các phiên bản tự lưu trữ. Trong các trường hợp khác, trước tiên, mã của bạn sẽ thực hiện yêu cầu HTTP thông thường tới CapMonster API (thông qua yêu cầu, axios hoặc bất kỳ ứng dụng khách HTTP nào khác), sau đó kết quả được chuyển đến khung trình duyệt (Selenium, Playwright, Puppeteer, v.v.) bằng phương thức riêng. Cookie cf_clearance cần được đặt bằng phương pháp này trước khi điều hướng đến URL được bảo vệ — sau đó trình duyệt sẽ mở trang có kiểm tra đã hợp lệ mà không gặp phải thử thách lặp lại.

Việc tự động giải quyết các Thử thách Cloudflare có hợp pháp không?

Việc giải quyết Cloudflare Challenge là một hoạt động kỹ thuật và tính hợp pháp của nó phụ thuộc vào cách sử dụng quyền truy cập thu được chứ không phụ thuộc vào bản thân công cụ. CapMonster Cloud được thiết kế để tự động hóa pháp lý — kiểm tra, giám sát và thu thập dữ liệu có sẵn công khai — trong khi trách nhiệm tuân thủ luật pháp và Điều khoản sử dụng của tài nguyên mục tiêu thuộc về người dùng.

CapMonster Cloud

Chúng tôi không đảm bảo tỷ lệ thành công 100%: loại CAPTCHA và cấu hình trang đích có thể thay đổi bất kỳ lúc nào. Tốc độ giải quyết thực tế và tỷ lệ thành công khác nhau tùy thuộc vào trang đích, tải máy chủ và điều kiện mạng.

Cloudflare là nhãn hiệu của Cloudflare, Inc. CapMonster Cloud không được liên kết hoặc xác nhận bởi Cloudflare. Dịch vụ dành cho dữ liệu có sẵn công khai, kiểm tra các trang web của riêng bạn hoặc được ủy quyền, nhận dạng hình ảnh và khả năng truy cập. Việc thu thập dữ liệu của bên thứ ba sau thông tin đăng nhập hoặc tường phí mà không được phép đều bị cấm; tài khoản của riêng bạn không bị ảnh hưởng. Bạn xác định tình trạng pháp lý của dữ liệu của mình trước khi bắt đầu công việc.