Cách giải quyết Cloudflare Turnstile bằng CapSolver và n8n

Anh Tuan
Data Science Expert
10-Mar-2026

Cloudflare Turnstile đang trở thành lựa chọn CAPTCHA thay thế cho các trang web hiện đại. Khác với các CAPTCHA truyền thống buộc người dùng phải giải các câu đố hình ảnh, Turnstile chạy âm thầm ở nền — khiến nó khó bị phát hiện và vượt qua bằng các công cụ tự động thông thường.
Nhưng nếu bạn có thể xây dựng API giải Turnstile riêng của mình — một API nhận yêu cầu và trả về token hợp lệ, mà không cần viết một dòng mã truyền thống nào?
Trong hướng dẫn này, bạn sẽ học cách kết hợp n8n (công cụ tự động hóa quy trình trực quan) với CapSolver (dịch vụ giải CAPTCHA được AI hỗ trợ) để tạo một điểm cuối API mạnh mẽ giải các thách thức Cloudflare Turnstile theo yêu cầu.
Bạn sẽ xây dựng:
- Một API giải thách thức Turnstile của Cloudflare
- Một ví dụ quét web giải Turnstile, gửi token đến trang web và trích xuất dữ liệu được bảo vệ
Cloudflare Turnstile là gì?
Cloudflare Turnstile là một giải pháp CAPTCHA thông minh được thiết kế để xác minh người dùng mà không gây khó chịu như các thách thức truyền thống. Thay vì yêu cầu người dùng nhấp vào hộp kiểm hoặc xác định các vật thể trong hình ảnh, Turnstile xác minh khách truy cập tự động bằng các tín hiệu trình duyệt và phân tích hành vi.
| Tính năng | Cloudflare Turnstile |
|---|---|
| Tương tác người dùng | Không có — chạy tự động ở nền |
| Cách hoạt động | Sử dụng các thách thức trình duyệt và tín hiệu hành vi để xác minh người truy cập |
| Tính hiển thị | Hiển thị một widget nhỏ, nhưng không có câu đố để giải |
| Chế độ widget | Quản lý, Không tương tác, Bị ẩn |
| Trường hợp sử dụng phổ biến | Trang đăng nhập, đăng ký, trang thanh toán, bất kỳ trang nào được bảo vệ bởi Cloudflare |
| Mã trang có hiển thị không? | Có |
Chế độ widget
Turnstile cung cấp ba chế độ widget mà các trang web có thể chọn:
| Chế độ | Mô tả |
|---|---|
| Quản lý | Cloudflare quyết định xem có hiển thị thách thức tương tác hay xác minh âm thầm |
| Không tương tác | Không bao giờ hiển thị thách thức — luôn xác minh ở nền |
| Bị ẩn | Hoàn toàn bị ẩn — không có widget nào được hiển thị trên trang |
Từ góc độ giải quyết, chế độ không thay đổi cách bạn cấu hình CapSolver — bạn luôn cần các tham số giống nhau: websiteURL và websiteKey.
Turnstile so với Cloudflare Challenge (Không giống nhau)
Đừng nhầm lẫn Turnstile với Cloudflare Challenge toàn trang — cái mà hiển thị "Thực hiện kiểm tra bảo mật" với thanh loading trước khi cho phép bạn truy cập trang. Đó là một Cloudflare Challenge (còn được gọi là JS challenge hoặc managed challenge), không phải Turnstile.
| Cloudflare Turnstile | Cloudflare Challenge | |
|---|---|---|
| Nơi xuất hiện | Được nhúng bên trong trang (ví dụ: trong trang đăng nhập) | Trang đầy đủ trước khi bạn có thể truy cập trang |
| Giao diện | Một widget nhỏ trên trang | "Thực hiện kiểm tra bảo mật..." với thanh loading |
| Cách triển khai | Chủ trang web thêm nó vào biểu mẫu của họ | Cloudflare tự động thêm nó dựa trên quy tắc bảo mật |
| Phương pháp giải | Sử dụng thao tác Turnstile của CapSolver (hướng dẫn này) | Khác — yêu cầu trình giải Cloudflare Challenge |
Nếu bạn thấy màn hình "Thực hiện kiểm tra bảo mật" toàn trang, đó không phải là Turnstile — đó là Cloudflare Challenge và yêu cầu phương pháp khác. Xem những khác biệt chính
Yêu cầu tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:
- Một phiên bản n8n — Hoặc tự host hoặc n8n Cloud
- Tài khoản CapSolver — Đăng ký tại đây và lấy khóa API của bạn
- Nút CapSolver cho n8n — Đã có sẵn như một nút chính thức trong n8n (không cần cài đặt)
Lưu ý: Đảm bảo tài khoản CapSolver của bạn có đủ số dư. Các nhiệm vụ giải Turnstile sẽ tiêu hao tín dụng dựa trên việc sử dụng.
Thiết lập CapSolver trong n8n
CapSolver có sẵn như một tích hợp chính thức trong n8n — không cần cài đặt nút cộng đồng. Bạn có thể tìm thấy nó trực tiếp trong bảng nút khi xây dựng quy trình làm việc của mình.
Vì đây là tích hợp chính thức, bạn cần tạo một chứng chỉ trong n8n để nút CapSolver có thể xác thực với tài khoản của bạn.
Bước 1: Mở trang Chứng chỉ
Đi đến phiên bản n8n của bạn và điều hướng đến Cài đặt → Chứng chỉ. Bạn sẽ thấy tất cả các chứng chỉ được cấu hình ở đây.

Bước 2: Tạo Chứng chỉ CapSolver
- Nhấp vào Tạo chứng chỉ (góc trên bên phải)
- Tìm kiếm "CapSolver" và chọn CapSolver API
- Nhập khóa API của bạn — sao chép trực tiếp từ Bảng điều khiển CapSolver
- Để Các miền HTTP được phép ở chế độ
Tất cả(mặc định) - Nhấp vào Lưu
n8n sẽ tự động kiểm tra kết nối. Bạn nên thấy thông báo "Kết nối thành công" màu xanh xác nhận khóa API của bạn hợp lệ.

Lưu ý: Tất cả các nút CapSolver trong quy trình làm việc của bạn sẽ tham chiếu đến chứng chỉ này. Bạn chỉ cần tạo nó một lần — tất cả các quy trình giải của bạn sẽ chia sẻ cùng một chứng chỉ.
Bây giờ bạn đã sẵn sàng để xây dựng quy trình giải Turnstile của mình!
Cách Xác định Tham số Turnstile
Trước khi giải một thách thức Turnstile, bạn cần biết các tham số của nó — cụ thể là websiteURL và websiteKey (còn được gọi là khóa trang).
Turnstile chỉ cần hai tham số, vì vậy việc tìm chúng rất đơn giản:
URL Trang Web
Đây là URL đầy đủ của trang có widget Turnstile. Sao chép từ thanh địa chỉ trình duyệt của bạn.
Khóa Trang (Site Key)
Khóa trang được nhúng trong HTML của trang. Dưới đây là một số cách để tìm nó:
1. Tìm trong mã nguồn trang cho data-sitekey
Nhấp chuột phải trên trang → Xem mã nguồn trang (hoặc nhấn Ctrl+U) và tìm data-sitekey:
html
<div class="cf-turnstile" data-sitekey="0x4AAAAAAADV8V8V8V8V8V8V"></div>
2. Tìm turnstile.render() trong JavaScript
Một số trang hiển thị Turnstile qua JavaScript thay vì thuộc tính HTML. Tìm trong mã nguồn trang cho turnstile.render:
javascript
turnstile.render('#widget', {
sitekey: '0x4AAAAAAADV8V8V8V8V8V8V',
});
3. Kiểm tra tab Mạng trong DevTools
Mở DevTools (F12) → tab Mạng → lọc bằng turnstile hoặc challenges.cloudflare.com. Khóa trang thường xuất hiện trong URL yêu cầu hoặc dữ liệu phản hồi.
4. Tìm challenges.cloudflare.com trong HTML
Turnstile tải script của nó từ Cloudflare. Tìm trong mã nguồn trang cho tên miền này — khóa trang thường ở gần đó:
html
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
Lưu ý:
- Khóa trang luôn bắt đầu bằng
0xvà là chuỗi ký tự dài- Nếu trang sử dụng Cloudflare's managed challenge (thách thức toàn trang trước khi truy cập trang), widget Turnstile có thể không có trong mã nguồn trang — nó được cung cấp bởi trang challenge của Cloudflare thay vào đó
Quy trình: API Giải Thách Thức Cloudflare Turnstile
Quy trình này tạo ra một điểm cuối API POST nhận tham số Turnstile và trả về token đã giải.

Hoạt động như thế nào
Quy trình gồm ba nút:
- Webhook — Nhận các yêu cầu POST đến với tham số Turnstile
- Cloudflare Turnstile — Gửi thách thức đến CapSolver và chờ đợi giải pháp
- Trả lời Webhook — Trả về giải pháp dưới dạng phản hồi JSON
Cấu hình Nút
1. Nút Webhook
| Thiết lập | Giá trị |
|---|---|
| Phương thức HTTP | POST |
| Đường dẫn | solver-turnstile |
| Chế độ Trả lời | Node Trả lời |
Điều này tạo ra một điểm cuối tại: https://your-n8n-instance.com/webhook/solver-turnstile
2. Nút Cloudflare Turnstile của CapSolver
| Tham số | Giá trị | Mô tả |
|---|---|---|
| Hoạt động | Cloudflare Turnstile |
Phải được đặt thành Cloudflare Turnstile |
| Loại | AntiTurnstileTaskProxyLess |
Loại nhiệm vụ này không yêu cầu proxy |
| URL Trang Web | {{ $json.body.websiteURL }} |
URL của trang có widget Turnstile |
| Khóa Trang | {{ $json.body.websiteKey }} |
Khóa trang Turnstile |
| metadata.action | (Tùy chọn) | Một số trang yêu cầu chuỗi hành động cụ thể cho thách thức Turnstile |
| metadata.cdata | (Tùy chọn) | Dữ liệu tùy chỉnh mà một số trang truyền đến widget Turnstile để xác minh |
Một số trang cũng yêu cầu metadata.action và/hoặc metadata.cdata — bạn có thể thêm chúng trong phần Tùy chọn của nút. Chọn cả chứng chỉ CapSolver của bạn trong nút này.
3. Nút Trả lời Webhook
| Thiết lập | Giá trị |
|---|---|
| Trả lời Bằng | JSON |
| Nội dung Trả lời | {{ JSON.stringify($json.data) }} |
Điều này trả về phản hồi đầy đủ của CapSolver, bao gồm token Turnstile đã giải.
Kiểm tra
Gửi yêu cầu POST đến điểm cuối webhook của bạn:
bash
curl -X POST https://your-n8n-instance.com/webhook/solver-turnstile \
-H "Content-Type: application/json" \
-d '{
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAADV8V8V8V8V8V8V"
}'
Phản hồi Dự kiến:
json
{
"taskId": "abc123...",
"solution": {
"token": "0.XXXXXXXXXXXXXXXX..."
},
"status": "ready"
}
Nhập Quy trình Này
Sao chép JSON dưới đây và nhập vào n8n qua Menu → Nhập từ JSON:
Nhấp để mở rộng JSON quy trình
json
{
"name": "Turnstile solver",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "solver-turnstile",
"responseMode": "responseNode",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [-208, 0],
"id": "137be4f0-1762-4f0c-b993-c512d27e35de",
"name": "Webhook",
"webhookId": "3d32ad61-d925-4a09-8fe5-7226e6664a98"
},
{
"parameters": {
"operation": "Cloudflare Turnstile",
"websiteURL": "={{ $json.body.websiteURL }}",
"websiteKey": "={{ $json.body.websiteKey }}",
"optional": {}
},
"type": "n8n-nodes-capsolver.capSolver",
"typeVersion": 1,
"position": [192, 80],
"id": "954ff1f0-d5de-4468-b0d1-fbce03676676",
"name": "Cloudflare Turnstile",
"credentials": {
"capSolverApi": {
"id": "sLg2YDZd7WtYJJJ4",
"name": "CapSolver account"
}
}
},
{
"parameters": {
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.1,
"position": [400, 0],
"id": "db264e2b-48ce-4887-9b2b-2b8077993c30",
"name": "Respond to Webhook"
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Cloudflare Turnstile",
"type": "main",
"index": 0
}
]
]
},
"Cloudflare Turnstile": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1"
}
}
Tham chiếu Tham số API
Điểm cuối API giải Turnstile chấp nhận các tham số sau:
| Tham số | Bắt buộc | Mô tả |
|---|---|---|
websiteURL |
Có | URL của trang chứa widget Turnstile |
websiteKey |
Có | Khóa trang Turnstile |
metadata.action |
Không | Chuỗi hành động được yêu cầu bởi một số trang cho thách thức Turnstile |
metadata.cdata |
Không | Dữ liệu tùy chỉnh được truyền đến widget Turnstile bởi một số trang |
Lưu ý: Bạn có thể xác định
websiteURLvàwebsiteKeybằng cách kiểm tra mã nguồn trang — xem Cách Xác định Tham số Turnstile.
So với reCAPTCHA, Turnstile đơn giản hơn — bạn chỉ cần hai tham số bắt buộc. Một số trang có thể yêu cầu các trường tùy chọn metadata.action hoặc metadata.cdata — thêm chúng vào phần Tùy chọn của nút nếu token không được chấp nhận.
Ví dụ Thực Tế: Gửi Token Turnstile Đến Trang Web
Quy trình API trên cho thấy cách nhận token Turnstile đã giải. Nhưng bạn thực sự làm gì với nó?
Trong tự động hóa thực tế, giải quyết thách thức chỉ là một nửa công việc. Bạn cần gửi token đến trang đích — giống như trình duyệt sẽ làm — để mở khóa dữ liệu hoặc hành động đằng sau bảo vệ Turnstile.
Đây là mô hình chung:
- Giải thách thức → Nhận token từ CapSolver
- Gửi token → Gửi nó đến trang đích qua yêu cầu HTTP (thường là trường
cf-turnstile-response) - Kiểm tra phản hồi → Kiểm tra xem trang web có chấp nhận token hay không
- Xử lý kết quả → Trích xuất dữ liệu bạn cần
Ví dụ: Giải và Gửi Turnstile
Ví dụ: https://example.com/ — Một trang web được bảo vệ bởi Turnstile
Luồng Quy trình
Kích hoạt Thủ công → CapSolver Turnstile → Yêu cầu HTTP POST → IF (kiểm tra thành công) → Chỉnh sửa Trường (trích xuất dữ liệu)
Hoạt động như thế nào
- Kích hoạt Thủ công — Bắt đầu quy trình thủ công (nhấp vào "Thực hiện quy trình"). Bạn có thể thay thế điều này bằng bất kỳ kích hoạt nào — Webhook, Lịch, Sự kiện Ứng dụng, v.v.
- CapSolver Cloudflare Turnstile — Giải thách thức Turnstile:
- Hoạt động:
Cloudflare Turnstile - URL Trang Web:
https://example.com/login - Khóa Trang:
0x4AAAAAAA...(tìm bằng cách kiểm tra mã nguồn trang — xem Cách Xác định Tham số Turnstile
- Hoạt động:
- Yêu cầu HTTP POST — Gửi token đã giải đến trang đích:
- Token được gửi trong trường
cf-turnstile-responsecủa biểu mẫu - Bao gồm bất kỳ trường biểu mẫu nào mà trang kỳ vọng (ví dụ:
username,password) - Đây là điều mà trình duyệt làm khi bạn gửi biểu mẫu sau khi Turnstile xác minh bạn
- Token được gửi trong trường
- Nút IF — Kiểm tra xem phản hồi có chỉ ra thành công hay không (ví dụ: chuyển hướng, thông báo thành công, hoặc các trường JSON cụ thể)
- Chỉnh sửa trường dữ liệu — Trích xuất dữ liệu bạn cần từ phản hồi. Trong tình huống thực tế, đây là nơi bạn phân tích HTML bằng nút HTML để trích xuất các phần tử cụ thể (ví dụ: dữ liệu người dùng, danh sách sản phẩm, nội dung bảng điều khiển) và ánh xạ chúng vào các trường đầu ra của bạn.
Khái niệm quan trọng: Mỗi trang web xử lý việc gửi token khác nhau. Trong ví dụ này, token được gửi qua trường
cf-turnstile-responsebằng phương thức POST — nhưng các trang web khác có thể yêu cầu nó ở tên trường khác, dưới dạng dữ liệu JSON, trong tiêu đề, hoặc thông qua một điểm cuối hoàn toàn khác. Luôn kiểm tra việc gửi biểu mẫu thực tế của trang web (bằng tab Mạng trong DevTools) để xem chính xác cách token cần được gửi.
Áp dụng Mẫu này cho Bất kỳ Trang Web Bảo vệ bằng Turnstile nào
- Xác định tham số Turnstile — Tìm
websiteURLvàwebsiteKeybằng cách kiểm tra mã nguồn trang web - Kiểm tra việc gửi biểu mẫu — Sử dụng tab Mạng trong DevTools của trình duyệt để xem yêu cầu nào được gửi khi biểu mẫu được gửi (URL, phương thức, tiêu đề, trường dữ liệu)
- Lặp lại yêu cầu trong n8n — Cấu hình nút Yêu cầu HTTP để khớp chính xác với việc gửi biểu mẫu, chèn token đã giải vào trường đúng (thường là
cf-turnstile-response, nhưng hãy kiểm tra biểu mẫu thực tế) - Thêm kiểm tra xác thực — Sử dụng nút IF để kiểm tra phản hồi và xác nhận dữ liệu đã được mở khóa
- Trích xuất dữ liệu — Khi trang web chấp nhận token, phân tích phản hồi để trích xuất dữ liệu bạn cần. Sử dụng nút HTML cho phản hồi HTML hoặc Chỉnh sửa trường dữ liệu cho phản hồi JSON
Lưu ý: Ví dụ này sử dụng Trigger thủ công để đơn giản, nhưng bạn có thể thay thế bằng bất kỳ nút Trigger nào — Webhook (để xây dựng API), Lịch (để chạy mỗi giờ), Sự kiện ứng dụng (để phản ứng với tin nhắn Telegram), hoặc bất kỳ nút nào khác. Xem Cách kích hoạt quy trình làm việc của bạn để xem tất cả các tùy chọn.
Các cách để kích hoạt quy trình làm việc của bạn
Các ví dụ trong hướng dẫn này sử dụng Trigger thủ công (đối với quy trình quét) và Webhook (đối với quy trình API), nhưng n8n cung cấp nhiều cách khác để bắt đầu một quy trình làm việc. Bạn có thể thay thế nút Trigger để phù hợp với nhu cầu của mình:
| Trigger | Mô tả | Phù hợp nhất với |
|---|---|---|
| Kích hoạt thủ công | Nhấn "Thực thi quy trình làm việc" trong n8n | Kiểm tra và chạy một lần |
| Theo lịch | Chạy mỗi ngày, mỗi giờ hoặc khoảng thời gian tùy chỉnh (cron) | Các công việc quét định kỳ (ví dụ: kiểm tra một trang web mỗi giờ) |
| Khi có yêu cầu Webhook | Chạy khi nhận được yêu cầu HTTP | Xây dựng API mà các dịch vụ khác có thể gọi |
| Khi có sự kiện ứng dụng | Chạy khi có điều gì đó xảy ra trong Telegram, Notion, Airtable, v.v. | Phản ứng với các sự kiện (ví dụ: tin nhắn Telegram mới kích hoạt giải quyết) |
| Khi gửi biểu mẫu | Tạo biểu mẫu web trong n8n và truyền phản hồi đến quy trình làm việc | Cho phép người dùng gửi tham số Captcha qua biểu mẫu |
| Khi được thực thi bởi quy trình làm việc khác | Được gọi bởi nút Execute Workflow từ quy trình làm việc khác | Kiến trúc mô-đun — giữ giải pháp của bạn như một quy trình con có thể tái sử dụng |
| Khi có tin nhắn trò chuyện | Chạy khi người dùng gửi tin nhắn trò chuyện (nút AI) | Tích hợp chatbot cần giải quyết thách thức theo yêu cầu |
| Các cách khác | Lỗi quy trình làm việc, thay đổi tệp, v.v. | Kích hoạt tự động nâng cao |
Ví dụ, để chạy quy trình quét của bạn mỗi giờ, chỉ cần thay thế Trigger thủ công bằng nút Trigger theo lịch và đặt khoảng thời gian là 1 giờ. Phần còn lại của quy trình làm việc vẫn giữ nguyên.
Lưu trữ và xuất dữ liệu đã quét
Sau khi quy trình làm việc giải quyết thử thách Turnstile và truy xuất dữ liệu từ trang web đích, bạn sẽ muốn lưu trữ hoặc xuất dữ liệu đó. n8n cung cấp các nút chuyển đổi dữ liệu và đầu ra tích hợp cho mục đích này.
Chuyển đổi dữ liệu
Trước khi lưu, bạn có thể chuyển đổi dữ liệu đã quét bằng các nút tích hợp của n8n:
| Nút | Mô tả |
|---|---|
| Ghép | Kết hợp dữ liệu từ nhiều nguồn |
| Tóm tắt | Tổng hợp, đếm, giá trị lớn nhất, v.v. trên các mục |
| Chuyển đổi thành tệp | Chuyển đổi dữ liệu JSON thành định dạng nhị phân như CSV, Excel |
| Trích xuất từ tệp | Chuyển đổi dữ liệu nhị phân thành JSON |
| HTML | Phân tích và trích xuất dữ liệu từ phản hồi HTML |
| XML | Chuyển đổi giữa JSON và XML |
| Đổi tên trường | Đổi tên trường để phù hợp với định dạng đầu ra mong muốn |
| Sắp xếp | Sắp xếp các mục trước khi xuất |
Các điểm đầu ra
Sau khi nút IF xác minh phản hồi, bạn có thể thêm bất kỳ nút nào trong số các nút sau để lưu dữ liệu:
| Điểm đầu ra | Cách thực hiện |
|---|---|
| Google Sheets | Thêm hàng vào bảng tính — lý tưởng để theo dõi kết quả theo thời gian |
| Tệp Excel / CSV | Sử dụng nút Chuyển đổi thành tệp để tạo tệp .xlsx hoặc .csv, sau đó lưu bằng nút Ghi tệp nhị phân hoặc tải lên Google Drive |
| Cơ sở dữ liệu (MySQL, PostgreSQL, MongoDB) | Chèn trực tiếp vào bảng cơ sở dữ liệu để lưu trữ có cấu trúc |
| Airtable / Notion | Gửi dữ liệu đến các công cụ quản lý dự án của bạn |
| Google Drive / S3 | Tải lên tệp đến lưu trữ đám mây |
| Telegram / Slack / Email | Gửi thông báo với dữ liệu đã quét |
| Tệp JSON cục bộ | Ghi kết quả vào tệp .json trên đĩa |
Lời khuyên: Bạn có thể kết hợp nhiều đầu ra — ví dụ, lưu vào Google Sheets và gửi thông báo Telegram cùng lúc bằng cách kết nối cả hai nút với đầu ra "đúng" của nút IF.
Xử lý sự cố
"ERROR_KEY_DOES_NOT_EXIST" hoặc API key không hợp lệ
| Triệu chứng | Nút CapSolver thất bại với lỗi API key |
| Nguyên nhân | API key của bạn sai hoặc chưa được cấu hình |
| Giải pháp | Kiểm tra lại API key của bạn trong Cài đặt → Chứng chỉ. Sao chép nó trực tiếp từ Bảng điều khiển CapSolver |
"ERROR_ZERO_BALANCE"
| Triệu chứng | Tạo nhiệm vụ thất bại với lỗi số dư |
| Nguyên nhân | Tài khoản CapSolver của bạn không còn tín dụng |
| Giải pháp | Nạp tiền vào tài khoản tại Bảng điều khiển CapSolver |
Token sai hoặc hết hạn
| Triệu chứng | Token trả về bị trang web đích từ chối |
| Nguyên nhân | Token Turnstile hết hạn sau một khoảng thời gian ngắn |
| Giải pháp | Sử dụng token ngay lập tức sau khi nhận được |
Token không được trang web chấp nhận
| Triệu chứng | CapSolver trả về token thành công, nhưng trang web đích vẫn từ chối nó |
| Nguyên nhân | Một số trang web có các bảo vệ bổ sung ngoài Turnstile, hoặc yêu cầu các tham số cụ thể không được bao gồm |
| Giải pháp | Kiểm tra lại xem bạn có gửi token chính xác như trang web mong đợi (tên trường đúng, phương thức và điểm cuối). Đảm bảo bạn đang sử dụng khóa trang đúng. Nếu token vẫn không được chấp nhận, liên hệ đội ngũ hỗ trợ CapSolver để được hỗ trợ — họ có thể giúp chẩn đoán các vấn đề liên quan đến trang web cụ thể |
Hết thời gian hoặc phản hồi chậm
| Triệu chứng | Webhook mất quá nhiều thời gian hoặc hết thời gian |
| Nguyên nhân | Giải quyết Captcha có thể mất vài giây tùy thuộc vào tải |
| Giải pháp | Tăng thời gian chờ webhooks trong cài đặt n8n. Xem xét thêm logic thử lại cho các trường hợp sản xuất |
Các nguyên tắc tốt nhất
-
Sử dụng token ngay lập tức — Token Turnstile hết hạn nhanh. Gửi token đến trang web đích ngay khi bạn nhận được từ API giải quyết của mình.
-
Xác minh tham số trước khi cấu hình — Luôn xác nhận khóa
websiteKeyđúng bằng cách kiểm tra mã nguồn trang web trước khi cấu hình quy trình làm việc của bạn. -
Giữ API key an toàn — Không bao giờ tiết lộ API key CapSolver trong mã phía khách. Các quy trình làm việc n8n giữ khóa của bạn ở phía máy chủ, đây là cách được khuyến khích.
-
Theo dõi số dư của bạn — Thiết lập thông báo số dư trong bảng điều khiển CapSolver để tránh các lần thất bại quy trình làm việc do thiếu tín dụng.
-
Thêm xử lý lỗi — Đối với các quy trình làm việc sản xuất, thêm nút IF sau nút CapSolver để kiểm tra lỗi và xử lý chúng một cách trơn tru (ví dụ: thử lại, thông báo hoặc ghi lại lỗi).
Kết luận
Bạn đã học cách xây dựng một API giải quyết Turnstile của Cloudflare và mẫu quy trình quét bằng n8n và CapSolver — không cần lập trình truyền thống.
Trong hướng dẫn này, chúng tôi đã đề cập đến:
- Điểm cuối giải quyết API cho Cloudflare Turnstile sử dụng quy trình dựa trên webhooks
- Mẫu quét thực tế cho thấy cách gửi token đã giải quyết đến các trang web đích và trích xuất dữ liệu được bảo vệ
- Cách xác định tham số Turnstile bằng cách kiểm tra mã nguồn trang web
- Các nguyên tắc tốt nhất về xử lý token, quản lý lỗi và sử dụng trong sản xuất
Thông điệp chính là: giải quyết thử thách Turnstile chỉ là một nửa công việc — bạn cũng cần gửi token đến trang web đích để mở khóa dữ liệu được bảo vệ.
Sẵn sàng bắt đầu chưa? Đăng ký CapSolver và sử dụng mã thưởng n8n để nhận thêm 8% thưởng cho lần nạp đầu tiên!

Câu hỏi thường gặp
Cloudflare Turnstile là gì?
Cloudflare Turnstile là một sự thay thế cho CAPTCHA, xác minh người dùng mà không yêu cầu họ giải các câu đố. Nó chạy ở nền bằng các tín hiệu trình duyệt và phân tích hành vi để xác định xem người dùng có phải là người thật hay không.
CapSolver hỗ trợ loại CAPTCHA nào trong n8n?
Nút CapSolver của n8n hỗ trợ Cloudflare Turnstile, reCAPTCHA v2, reCAPTCHA v2 ẩn, reCAPTCHA v3 và nhiều hơn nữa. Xem trang tích hợp CapSolver của n8n để xem danh sách đầy đủ.
Chi phí giải quyết thử thách Turnstile là bao nhiêu?
Giá cả thay đổi tùy theo nhu cầu sử dụng. Xem trang giá của CapSolver để xem mức giá hiện tại cho Turnstile.
Thời gian giải quyết thử thách Turnstile là bao lâu?
Thử thách Turnstile thường được giải quyết trong vài giây vì không có các thử thách hình ảnh liên quan.
Tôi có thể sử dụng quy trình này với n8n Cloud không?
Có! Quy trình này hoạt động với cả n8n tự host và n8n Cloud. Nút CapSolver đã có sẵn như một tích hợp chính thức — chỉ cần thêm chứng chỉ API của bạn.
Làm thế nào để tìm khóa trang Turnstile cho một trang web?
Tìm kiếm mã nguồn trang web cho data-sitekey trong HTML hoặc xem turnstile.render() trong JavaScript. Bạn cũng có thể mở DevTools (F12) → tab Mạng và lọc bằng turnstile để tìm khóa trang trong các yêu cầu. Xem Cách xác định tham số Turnstile để hướng dẫn chi tiết.
Sự khác biệt giữa Turnstile và reCAPTCHA là gì?
Turnstile là sự thay thế CAPTCHA của Cloudflare tập trung vào quyền riêng tư và trải nghiệm người dùng — hiếm khi hiển thị các thử thách hiển thị. reCAPTCHA là hệ thống phát hiện bot của Google có thể yêu cầu người dùng giải các câu đố hình ảnh (v2) hoặc gán điểm hành vi (v3). Cả hai đều có thể được giải bằng CapSolver trong n8n.
Điều gì xảy ra nếu CapSolver không thể giải quyết thử thách Turnstile?
Nút CapSolver sẽ trả về lỗi. Đối với các quy trình làm việc sản xuất, được khuyến khích thêm xử lý lỗi (ví dụ: nút IF để kiểm tra lỗi và cơ chế thử lại hoặc thông báo).
Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.
Thêm

Cách giải quyết Cloudflare Turnstile bằng CapSolver và n8n
Xây dựng API giải mã Cloudflare Turnstile bằng CapSolver và n8n. Học cách tự động hóa việc giải token, gửi nó đến các trang web và trích xuất dữ liệu được bảo vệ mà không cần lập trình.

Anh Tuan
10-Mar-2026

Cách giải CAPTCHA trên Nanobot bằng CapSolver
Tự động hóa việc giải CAPTCHA với Nanobot và CapSolver. Sử dụng Playwright để giải reCAPTCHA và Cloudflare tự động.

Anh Tuan
26-Feb-2026

Dữ liệu dưới dạng dịch vụ (DaaS): Nó là gì và tại sao nó quan trọng vào năm 2026
Hiểu về Dịch vụ Dữ liệu (DaaS) vào năm 2026. Khám phá lợi ích, trường hợp sử dụng và cách nó thay đổi doanh nghiệp với phân tích thời gian thực và tính mở rộng.

Emma Foster
12-Feb-2026

Cách sửa các lỗi thu thập dữ liệu web phổ biến vào năm 2026
Nắm vững việc sửa chữa các lỗi trình gỡ mã web đa dạng như 400, 401, 402, 403, 429, 5xx, và Cloudflare 1001 vào năm 2026. Học các chiến lược tiên tiến về chuyển đổi IP, tiêu đề, và giới hạn tốc độ thích ứng với CapSolver.

Nikolai Smirnov
05-Feb-2026

Cách khắc phục bảo vệ Cloudflare khi quét web
Học cách giải quyết bảo vệ Cloudflare khi quét dữ liệu web. Khám phá các phương pháp đã được chứng minh như xoay đổi IP, tinh vân TLS và CapSolver để xử lý các thách thức.

Nikolai Smirnov
05-Feb-2026

Cách giải Captcha trong RoxyBrowser với tích hợp CapSolver
Tích hợp CapSolver với RoxyBrowser để tự động hóa các nhiệm vụ trình duyệt và vượt qua reCAPTCHA, Turnstile và các CAPTCHA khác.

Anh Tuan
04-Feb-2026

