ANTICAPTCHA.TOP - API Docs - V2
  • Hướng dẫn
  • Sử dụng API
    • API lấy số dư tài khoản
    • API lấy dịch vụ
    • API giải captcha
      • Image to Text - Captcha dạng ảnh
      • Shopee Slide Captcha
      • ReCAPTCHA V2
      • ReCAPTCHA V2 Enterprise
      • ReCAPTCHA V3
      • ReCAPTCHA V3 Enterprise
      • Cloudflare Turnstile/Challenge
      • GeeTest Captcha V3
      • GeeTest Captcha V4
      • Amazon AWF
      • TikTok (kéo thả - Web)
      • TikTok (chọn 2 đối tượng - Web)
      • TikTok (xoay đối tượng - Web)
  • Extension cho trình duyệt
    • Extension AntiCaptcha.top cho Chrome/Cốc Cốc
    • Extension AntiCaptcha.top cho Firefox
Powered by GitBook
On this page
  • 1. Tìm Sitekey của Captcha Cloudflare
  • 2. Tạo yêu cầu/Request
  • Kết quả trả về/Response
  • 3. Lấy kết quả giải captcha/Response
  • Kết quả trả về/Response
  • 4. Code mẫu
  • 5. Sử dụng kết quả token nhận được
  • Lưu ý: Nên sử dụng phần mềm PostMan để kiểm tra chạy test trước
  1. Sử dụng API
  2. API giải captcha

Cloudflare Turnstile/Challenge

Hướng dẫn sử dụng API Giải Captcha Cloudflare Turnstile của anticaptcha.top

PreviousReCAPTCHA V3 EnterpriseNextGeeTest Captcha V3

Last updated 1 month ago

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

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
}
{
	"status": 0,
	"request": "Apikey incorrect"
}

hoặc

{
	"status": 0,
	"request": "Balance not enough"
}

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ý"
}
dạng text: OK|[kết quả giải ra]
Ví dụ: OK|{"token":"0.z95PTvjFvCW0Sq6G9QH2mnaRwh9DJDZJHNQZlkiT...","cf_clearance":null}

dạng JSON
{
	"status": 1,
	"request": "{\"token\":\"0.z95PTvjFvCW0Sq6G9QH2mnaRwh9DJDZJHNQZlkiT...\",\"cf_clearance\":null}", //kết quả giải captcha
	"message": "Đã xử lý xong"
}
{
	"status": 0,
	"request": "Apikey incorrect"
}

hoặc

{
	"status": 0,
	"request": "Id does not exist"
}

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());
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://anticaptcha.top/in.php',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "key": "[api key]",
    "method": "turnstile",
    "sitekey": "0x4AAAAAAAEwzhD6pyKkgXC0",
    "pageurl": "https://turnstile.zeroclover.io"
}',
  CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
var settings = {
  "url": "https://anticaptcha.top/in.php",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json"
  },
  "data": JSON.stringify({
    "key": "[api key]",
    "method": "turnstile",
    "sitekey": "0x4AAAAAAAEwzhD6pyKkgXC0",
    "pageurl": "https://turnstile.zeroclover.io"
  }),
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
import requests
import json

url = "https://anticaptcha.top/in.php"
payload = json.dumps({
  "key": "[api key]",
  "method": "turnstile",
  "sitekey": "0x4AAAAAAAEwzhD6pyKkgXC0",
  "pageurl": "https://turnstile.zeroclover.io"
})
headers = {
  'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://anticaptcha.top/in.php',
  'headers': {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "key": "[api key]",
    "method": "turnstile",
    "sitekey": "0x4AAAAAAAEwzhD6pyKkgXC0",
    "pageurl": "https://turnstile.zeroclover.io"
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
}

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

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