Cloudflare Turnstile/Challenge
Hướng dẫn sử dụng API Giải Captcha Cloudflare Turnstile của anticaptcha.top
Cloudflare Turnstile/Challenge là một loại captcha khá mới gần giống với reCAPTCHA và hCaptcha và trông giống như sau:

1. Tìm Sitekey của Captcha Cloudflare
Đầu tiên, bạn cần tìm giá trị của tham sốsitekey
trong mã nguồn của trang web chứa Captcha Cloudflare. Mở bảng điều khiển dành cho nhà phát triển trong trình duyệt của bạn và tìm phần tử có thuộc tínhsitekey


2. Tạo yêu cầu/Request
POST : https://anticaptcha.top/in.php
Các tham số Body:
Tên trường dữ liệu
Kiểu dữ liệu
Bắt buộc
Mô tả
key
String
x
Key duy nhất để xác định đối tác API
method
String
x
Giá trị: turnstile
sitekey
String
x
Sitekey Cloudflare Turnstile cần view code url chứa Cloudflare Turnstile để lấy sitekey
pageurl
String
x
url của webpage hiển thị Cloudflare Turnstile mà bạn muốn giải Ví dụ: https://demo.turnstile.workers.dev https://turnstile.zeroclover.io
action
String
Bắt buộc truyền nếu là giải dạng Cloudflare Challenge. Giá trị tùy chọn của tham số action bạn tìm thấy trên trang, có thể được xác định trong thuộc tính data-action hoặc được chuyển đến lệnh gọi Turntile.render
data
String
Bắt buộc truyền nếu là giải dạng Cloudflare Challenge. Giá trị của cData được truyền cho lệnh gọi Turnstile.render. Cũng có thể được định nghĩa trong thuộc tính data-cdata
pagedata
String
Bắt buộc truyền nếu là giải dạng Cloudflare Challenge. Giá trị của chlPageData được truyền cho lệnh gọi Turntile.render
useragent
String
Bắt buộc truyền nếu là giải dạng Cloudflare Challenge. User-Agent của trình duyệt của bạn. Chỉ sử dụng các trình duyệt hiện đại và hệ điều hành Windows. Chúng tôi khuyên bạn nên sử dụng các phiên bản được phát hành trong 6 tháng qua Ví dụ: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
json
Integer
0: server sẽ trả về dạng text (mặc định) 1: server sẽ trả về dạng JSON
proxy
String
Định dạng ip:port:username:password Nếu truyền dạng này thì ko cần truyền các trường dữ liệu proxy ở dưới nữa
proxyType
String
Kiểu Proxy: http https socks5
proxyAddress
String
địa chỉ IP hoặc hostname của Proxy Ví dụ: 103.124.95.45
proxyPort
String
Proxy port Ví dụ: 8686
proxyLogin
String
Username proxy nếu có
proxyPassword
String
Password proxy nếu có
userAgent
String
User-Agent của trình duyệt của bạn sẽ được sử dụng để tải captcha. Chỉ sử dụng User-Agent của các trình duyệt hiện đại
POST HTTP
Url: https://anticaptcha.top/in.php
Content-Type: application/json
Cloudflare Turndtile:
{
"key": "YOUR_API_KEY",
"method": "turnstile", // id cho Cloudflare Turnstile
"sitekey": "0x4AAAAAAAEwzhD6pyKkgXC0", // thay bằng sitekey của bạn
"pageurl": "https://turnstile.zeroclover.io", // thay bằng url của bạn
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" // thay bằng useragent của bạn
........ // các trường dữ liệu khác nữa nếu có
}
Cloudflare Challenge:
{
"key": "YOUR_API_KEY",
"method": "turnstile", // id cho Cloudflare Turnstile
"sitekey": "0x4AAAAAAAEwzhD6pyKkgXC0", // thay bằng sitekey của bạn
"pageurl": "https://turnstile.zeroclover.io", // thay bằng url của bạn
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36", // thay bằng useragent của bạn
"action": "managed",
"data": "874291f4retD1366", // thay bằng url của bạn
"pagedata": "HUHDWUHuhuwfiweh32..uh2uhuhyugYUG="
........ // các trường dữ liệu khác nữa nếu có
}
Kết quả trả về/Response
dạng text: OK|[id]
Ví dụ: OK|24380238
dạng JSON
{
"status": 1,
"request": "24380427", //task id
}
3. Lấy kết quả giải captcha/Response
GET : https://anticaptcha.top/res.php
Các tham số Body:
Tên trường dữ liệu
Kiểu dữ liệu
Bắt buộc
Mô tả
key
String
x
Key duy nhất để xác định đối tác API
id
String
x
Task id trả về ở bước 1
json
Integer
0: server sẽ trả về dạng text (mặc định) 1: server sẽ trả về dạng JSON
GET HTTP
Url: https://anticaptcha.top/res.php?key=[apikey của bạn]&id=[task id]&json=1
Kết quả trả về/Response
{
"status": 0,
"request": "CAPCHA_NOT_READY",
"message": "CAPTCHA đang xử lý"
}
4. Code mẫu
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://anticaptcha.top/in.php");
var content = new StringContent("{\r\n \"key\": \"[api key]\",\r\n \"method\": \"turnstile\",\r\n \"sitekey\": \"0x4AAAAAAAEwzhD6pyKkgXC0\",\r\n \"pageurl\": \"https://turnstile.zeroclover.io\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
5. Sử dụng kết quả token nhận được
Định vị phần tử có name là cf-turnstile-response và đưa giá trị token giải ra vào phần tử đó rồi submit form.

Ngoài ra, có thể có một callback được định nghĩa trong lệnh gọi Turntile.render
Lưu ý: Nên sử dụng phần mềm PostMan để kiểm tra chạy test trước
Last updated