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 mã thông báo trong
cf-turnstile-response - trang CapMonster
- Trang này: Cloudflare Turnstile Bộ giải
Cập nhật lần cuối:
Tiện ích 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.
cf-turnstile-responsechallenge-form với __cf_chl_f_tk=cf_clearanceBảng liệt kê giá cả, thời gian giải quyết và tỷ lệ giải quyết thành công của 4 dịch vụ giải quyết Cloudflare Turnstile.
| tham số | CapMonster Cloud | 2Captcha | Anti-Captcha | DeathByCaptcha |
|---|---|---|---|---|
Giá trên 1000 giải quyết (từ) | $ 1.30 | — | — | — |
Thời gian để giải quyết | 6,24 giây* | 16,9 giây | 20,33 giây | ~13 giây |
Giải quyết tỷ lệ thành công | 99%* | 96% | 96% | 96% |
2Captcha, Anti-Captcha và DeathByCaptcha 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 tổ chức này. Các số liệu hiệu suất và so sánh giá dựa trên dữ liệu có sẵn công khai và điểm chuẩn nội bộ kể từ 30.09.2026.
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%: các 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. Đăng ký tại CapMonster Cloud.
2. Hỗ trợ bằng tin nhắn qua trò chuyện trực tiếp hoặc support@capmonster.cloud với email được liên kết với tài khoản của bạn.
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.
Kiểm tra xem các biểu mẫu và điểm cuối được bảo vệ có tiếp tục hoạt động sau khi phát hành và thay đổi tiện ích hay không.
Thu thập dữ liệu có sẵn công khai từ các trang mở sử dụng Cloudflare Turnstile.
Hỗ trợ quy trình làm việc hỗ trợ tự động trên các trang web dựa vào kiểm tra bot invisible.
Cho phép tổng đài viên yêu cầu mã thông báo thông qua MCP khi quy trình làm việc đạt đến hình ảnh xác thực.
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.
Cloudflare Turnstile xác minh khách truy cập thông qua tín hiệu trình duyệt phía máy khách và đánh giá rủi ro thay vì câu đố hình ảnh. Nó có ba chế độ tiện ích: Managed (được khuyến nghị), Non-Interactive và Invisible. CapMonster Cloud tự động xử lý tất cả chúng — bạn không bao giờ chỉ định chế độ trong tác vụ.
Nguồn: Cloudflare tài liệu — Các loại tiện ích · Bắt đầu · Turnstile trong Cloudflare thử thách
Turnstile tự động chọn giữa dấu kiểm non-interactive và hộp kiểm dựa trên mức độ rủi ro của khách truy cập. Không có hình ảnh hoặc văn bản để giải mã.
Một tiện ích hiển thị có vòng quay tải. Quá trình kiểm tra diễn ra mà không có bất kỳ sự tương tác nào của khách truy cập.
Quá trình kiểm tra chạy hoàn toàn ở chế độ nền: không có tiện ích con và không có chỉ báo tải nào được hiển thị.
Trang tải mã khởi tạo của tiện ích; Cloudflare trả về JS được yêu cầu và tiện ích hiển thị.
Dựa trên chế độ tiện ích và tín hiệu rủi ro của Cloudflare, tiện ích sẽ quyết định xem có hiển thị thử thách tương tác hay không.
Phía khách hàng callback nhận được mã thông báo - sử dụng một lần, có hiệu lực trong 300 giây. Nếu tiện ích nằm trong <form>, mã thông báo cũng được thêm tự động dưới dạng trường ẩn cf-turnstile-response.
Trang gửi mã thông báo đến phần phụ trợ cùng với dữ liệu biểu mẫu.
Máy chủ của bạn gọi Cloudflare's Siteverify API để xác nhận mã thông báo.
Nguồn: Cloudflare tài liệu — Nhúng tiện ích · Xác thực mã thông báo
Mã thông báo Turnstile là chuỗi mà tiện ích tạo ra sau khi xác minh khách truy cập. Tiện ích lưu trữ nó trong trường biểu mẫu ẩn có tên cf-turnstile-response và cũng chuyển nó tới callback của tiện ích. Sau đó, máy chủ của trang web sẽ gửi mã thông báo đến Siteverify API của Cloudflare để xác nhận.
Thuộc tính của mã thông báo, theo tài liệu của Cloudflare:
Có hiệu lực trong 300 giây (5 phút) sau khi tạo.
Sử dụng một lần: xác thực lần thứ hai sẽ trả về lỗi timeout-or-duplicate.
Dài tới 2048 ký tự.
Được xác thực trên máy chủ thông qua Siteverify API.
CapMonster Cloud chấp nhận các tham số hình ảnh xác thực, xử lý chúng trên máy chủ của mình và trả về mã thông báo sẵn sàng sử dụng. Chèn mã thông báo này vào biểu mẫu để vượt qua bước kiểm tra mà không cần sự tương tác của người dùng.
Ở giai đoạn này, bạn gửi khóa API, loại hình ảnh xác thực và các thông số của nó. Dịch vụ trả về một taskId duy nhất mà bạn có thể sử dụng sau này để nhận kết quả.
Thông số bắt buộc
| tham số | Mô tả |
|---|---|
| loại | TurnstileTask |
| websiteURL | URL của trang nơi giải mã xác thực |
| websiteKey | Turnstile khóa trang web. Định dạng: 0x4AAAAAAABUYP0XeMJF0xoy |
Thông số tùy chọn
| tham số | Mô tả |
|---|---|
| userAgent | Trình duyệt User-Agent. Khuyến nghị: chuyển giá trị hiện tại được hỗ trợ bởi CapMonster Cloud. Bạn có thể nhận được giá trị mới nhất tại https://capmonster.cloud/api/useragent/actual |
| pageAction | Trường hành động được tìm thấy trong hàm callback khi tải hình ảnh xác thực |
| dữ liệu | Giá trị của trường dữ liệu, được lấy từ tham số cData |
| loại proxy | http — proxy HTTP/HTTPS thông thường; https — thử cách này nếu http không hoạt động (bắt buộc đối với một số proxy tùy chỉnh); socks4 — proxy SOCKS4; socks5 — proxy SOCKS5 |
| địa chỉ proxy | Địa chỉ IP của proxy (IPv4/IPv6). Không được phép sử dụng proxy và proxy minh bạch trên máy cục bộ |
| cổng proxy | Cổng ủy quyền |
| proxyĐăng nhập | Tên người dùng proxy |
| proxyMật khẩu | Mật khẩu proxy |
Loại TurnstileTask tương tự được sử dụng có và không có proxy.
Điểm cuối:
https://api.capmonster.cloud/createTaskYêu cầu:
{
"clientKey": "API_KEY",
"task": {
"type": "TurnstileTask",
"websiteURL": "https://yourwebsite.com/page-with-turnstile",
"websiteKey": "your-website-key"
}
}Phản hồi:
{
"errorId": 0,
"taskId": 407533072
}Sau khi tạo nhiệm vụ, thăm dò trạng thái giải pháp.
Điểm cuối:
https://api.capmonster.cloud/getTaskResultYêu cầu:
{
"clientKey": "API_KEY",
"taskId": 407533072
}Phản hồi:
{
"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"
}
}| Tài sản | Loại | Mô tả |
|---|---|---|
| mã thông báo | chuỗi | Sử dụng mã thông báo trong trường nhập hoặc khi gọi hàm callback. |
Chèn mã thông báo được trả về vào trường cf-turnstile-response hoặc chuyển nó vào callback của tiện ích, sau đó gửi biểu mẫu trong vòng năm phút: mã thông báo Cloudflare hết hạn sau 300 giây và chỉ có thể được xác thực một lần. Ví dụ về mã cho Playwright, Puppeteer và Selenium nằm trong Câu hỏi thường gặp bên dưới.
Để tạo tác vụ Turnstile, bạn cần hai giá trị từ trang nơi tiện ích chạy: khóa trang web (websiteKey) và, nếu trang đặt nó, tên hành động (pageAction).
<div class="cf-turnstile" data-sitekey="SITE_KEY"← websiteKey
data-action="ACTION"></div>← pageActionturnstile.render('#container', {
sitekey: 'SITE_KEY',← websiteKey
action: 'ACTION',← pageAction
callback: function (token) { /* ... */ }
});Mở trang web bằng captcha.
Nhấp chuột phải vào phần tử hình ảnh xác thực và chọn Inspect.
Tìm khóa trang web. Trong tab Elements, đó là thuộc tính data-sitekey (websiteKey). Khóa trang web Turnstile trông giống như 0x4AAAAAAABUYP0XeMJF0xoy.
Tìm hành động: trong lệnh gọi kết xuất tiện ích (hàm callback chạy khi tải hình ảnh xác thực) hoặc trong thuộc tính data-action. Bạn cũng có thể tìm thấy khóa trang web trong hàm callback đó. Nếu trang không đặt hành động, hãy bỏ tham số.
Để tự động thu thập các giá trị, hãy tải trang trong trình duyệt không có giao diện người dùng, chẳng hạn như Playwright và đọc chúng từ tiện ích được hiển thị. Các ví dụ sẵn có trong JavaScript, Python và C# có trong CapMonster Cloud tài liệu.
Một số giá trị thay đổi mỗi khi tải trang, vì vậy hãy giải quyết nhiệm vụ ngay sau khi bạn thu thập chúng.
createTask và truy xuất kết quả bằng getTaskResult bằng thư viện ứng dụng khách của chúng tôi.Đối với quy trình làm việc mã thấp, hãy sử dụng nút CapMonster Cloud n8n nút chính thức.
websiteURL và websiteKey từ cùng một kết xuất của trang.getTaskResult đã trả về trạng thái ready và bạn đã lấy solution.token trước khi chèn nó.Các lỗi được trả về bởi Cloudflare Siteverify (timeout-or-duplicate, invalid-input-secret và những lỗi khác) liên quan đến chủ sở hữu trang web — xem “Siteverify mã lỗi” bên dưới.
Nếu bạn chạy trang web được bảo vệ bởi Turnstile: hãy xác minh mã thông báo và kiểm tra thiết lập của bạn
POST https://challenges.cloudflare.com/turnstile/v0/siteverify
secret=YOUR_SECRET_KEY
response=TOKENNếu bạn chạy trang web, máy chủ của bạn sẽ xác thực mọi mã thông báo Turnstile bằng cách gửi yêu cầu POST tới https://challenges.cloudflare.com/turnstile/v0/siteverify. Điểm cuối chấp nhận application/x-www-form-urlencoded và JSON và luôn trả về JSON. Tham số bắt buộc: secret (khóa bí mật của tiện ích của bạn) và response (mã thông báo). Tùy chọn: remoteip và idempotency_key. Kiểm tra success và nếu bạn đặt chúng, thì cả action và hostname trong phản hồi.
Mã thông báo có giá trị trong 300 giây và chỉ có thể được xác thực một lần. Đọc thêm trong Cloudflare's hướng dẫn xác thực.
Cloudflare cung cấp khóa trang web giả và khóa bí mật để bạn có thể thử nghiệm việc triển khai Turnstile mà không gây ra thử thách thực sự. Khóa trang web thử nghiệm hoạt động trên mọi miền, bao gồm localhost và tạo mã thông báo giả XXXX.DUMMY.TOKEN.XXXX. Mã thông báo giả chỉ được chấp nhận bởi các khóa bí mật giả và các khóa bí mật sản xuất sẽ từ chối chúng.
<div class="cf-turnstile"
data-sitekey="1x…AA">
</div>
cf-turnstile-response:
"XXXX.DUMMY.TOKEN.XXXX"Luôn vượt qua
Luôn thất bại
Luôn vượt qua
Luôn thất bại
Buộc một thử thách tương tác
Luôn vượt qua xác nhận
Luôn không xác thực được
Trả về lỗi "mã thông báo đã được sử dụng" (hết thời gian chờ hoặc trùng lặp)
Tài liệu tham khảo đầy đủ của Cloudflare: Turnstile testing.
Khi xác thực không thành công, Siteverify API của Cloudflare trả về một mảng error-codes. Bảng dưới đây liệt kê từng mã và ý nghĩa của nó.
{
"success": false,
"error-codes": [
"timeout-or-duplicate"
]
}Tham số bí mật không được cung cấp
Khóa bí mật không hợp lệ hoặc đã hết hạn
Thông số phản hồi (mã thông báo) không được cung cấp
Mã thông báo không hợp lệ, không đúng định dạng hoặc đã hết hạn
Yêu cầu không đúng định dạng
Mã thông báo đã được xác thực hoặc đã hết hạn
Đã xảy ra lỗi nội bộ; thử lại yêu cầu
Siteverify có thể trả về success: true và máy chủ của bạn vẫn sẽ từ chối mã thông báo nếu hostname hoặc action không khớp với những gì bạn mong đợi.
Câu trả lời ngắn về việc giải Cloudflare Turnstile bằng CapMonster Cloud: chế độ, proxy, token, kiểm thử và lỗi Siteverify.
Cloudflare Turnstile là một CAPTCHA thay thế từ Cloudflare xác minh khách truy cập thông qua tín hiệu trình duyệt và đánh giá rủi ro thay vì câu đố hình ảnh. Nó có ba chế độ widget. Managed (được khuyến nghị): Cloudflare chọn giữa dấu kiểm non-interactive và hộp kiểm dựa trên rủi ro của khách truy cập. Non-interactive: một tiện ích hiển thị có vòng quay tải không bao giờ yêu cầu tương tác. Invisible: không có tiện ích nào cả. CapMonster Cloud tự động xử lý cả ba, do đó bạn không chỉ định chế độ trong tác vụ.
Không. TurnstileTask hoạt động mà không cần proxy và các trường proxy (proxyType, proxyAddress, proxyPort, proxyLogin, proxyPassword) là tùy chọn. Một proxy phù hợp với vị trí địa lý của trang đích có thể cải thiện kết quả trên các trang nhạy cảm về mặt địa lý, vì vậy cần thử nghiệm cả hai cấu hình. Không được phép sử dụng proxy minh bạch và proxy trên máy cục bộ. Nếu không có proxy của riêng bạn, CapMonster Cloud sẽ giải quyết nhiệm vụ thông qua proxy tích hợp (địa chỉ IP 65.21.190.34).
Mở DevTools, tìm phần tử có thuộc tính data-sitekey (và data-action, nếu trang đặt hành động) và sao chép các giá trị; khóa trang web Turnstile trông giống như 0x4AAAAAAABUYP0XeMJF0xoy. Một số giá trị thay đổi mỗi khi tải trang, vì vậy hãy trích xuất chúng ngay trước khi tạo tác vụ. Hướng dẫn từng bước có trong phần ở trên.
cf-turnstile-response là trường biểu mẫu ẩn chứa mã thông báo Turnstile. Mã thông báo có hiệu lực trong 300 giây (5 phút) và chỉ có thể được xác thực một lần; sau đó Siteverify trả về lỗi timeout-or-duplicate. Gửi mã thông báo bạn nhận được từ CapMonster Cloud ngay lập tức và yêu cầu mã thông báo mới cho mỗi lần gửi.
Để chèn mã thông báo Turnstile, hãy tìm trường phản hồi ẩn (đầu vào có tên cf-turnstile-response) và đặt trường đó thành mã thông báo được truy xuất từ CapMonster Cloud. Đây là cách thực hiện điều đó trên ba khung tự động hóa.
Playwright / Puppeteer (Node.js):
const token = "YOUR_TOKEN";
await page.evaluate((t) => {
document.querySelector('[name="cf-turnstile-response"]').value = t;
}, token);
await page.click('#submit-btn');Selenium (Python):
token = "YOUR_TOKEN"
driver.execute_script("document.querySelector('[name=\"cf-turnstile-response\"]').value = arguments[0];", token)
driver.find_element("id", "submit-btn").click()Nếu biểu mẫu xác thực mã thông báo thông qua hàm callback (thuộc tính data-callback của tiện ích), thay vào đó hãy gọi hàm đó bằng mã thông báo.
Sử dụng phím giả của Cloudflare. Trên máy khách, đặt khóa trang web thành 1x00000000000000000000AA (luôn vượt qua), 2x00000000000000000000AB (luôn thất bại) hoặc 3x00000000000000000000FF (bắt buộc thử thách tương tác); trên máy chủ, hãy sử dụng khóa bí mật giả như 1x0000000000000000000000000000000AA. Khóa trang web giả hoạt động trên bất kỳ miền nào, bao gồm localhost và tạo ra mã thông báo XXXX.DUMMY.TOKEN.XXXX mà chỉ các khóa bí mật giả mới chấp nhận. Danh sách đầy đủ có trong phần test ở trên.
Siteverify trả về success: false khi mã thông báo cũ hơn 300 giây, đã được xác thực hoặc khóa bí mật sai và máy chủ của bạn cũng có thể từ chối nếu mã thông báo được trả về hostname hoặc action không khớp với những gì bạn mong đợi. Kiểm tra mảng error-codes trong phản hồi và xem bảng mã lỗi Siteverify⟧0018⟧. Yêu cầu mã thông báo mới cho mỗi lần gửi và gửi mã đó ngay sau khi bạn nhận được.
* Chúng tôi không đảm bảo tỷ lệ thành công 100%: các loại CAPTCHA và cấu hình trang đích có thể thay đổi bất kỳ lúc nào. CapMonster Cloud mang lại tỷ lệ thành công cao cho việc giải Cloudflare Turnstile. Dựa trên CapMonster Cloud điểm chuẩn nội bộ hàng tháng của nhóm. 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 và Turnstile là thương 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.