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
      • TikTok kéo thả - App
      • TikTok chọn 2 đối tượng - App
      • Zalo kéo thả - App
      • Zalo chọn hình ảnh - 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ạo yêu cầu/Request
  • 2. Kết quả trả về/Response
  • 3. Code mẫu
  • 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

FunCAPTCHA Images Recognize

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

Last updated 1 year ago

FunCaptcha hay còn gọi là Arkose Labs Captcha là một loại captcha trông giống như sau:

1. Tạo yêu cầu/Request

POST : https://anticaptcha.top/api/captcha

Các tham số Body:

Tên trường dữ liệu

Kiểu dữ liệu

Bắt buộc

Mô tả

apikey

String

x

Key duy nhất để xác định đối tác API

img

String

x

type

Integer

x

Giá trị: 27

imginstructions

String

Câu hỏi captcha Ví dụ: Use the arrows to pick the image where all the darts add up to the number in the left image

POST HTTP
Url: https://anticaptcha.top/api/captcha
Content-Type: application/json

{
	"apikey": "YOUR_API_KEY",
	"img": "image base64 encoded",
	"imginstructions": "văn bản câu hỏi",
	"type": 27 // id loại funcaptcha images 
}

2. Kết quả trả về/Response

Kết quả trả về dạng JSON gồm các trường sau

Tên trường dữ liệu

Kiểu dữ liệu

Mô tả

success

boolean

Mã thông báo xác định kết quả của bước gửi captcha qua POST

true: Thành công false: Thất bại

message

String

Thông báo tương ứng nếu có

captcha

String

kết quả là vị trí của ảnh đúng

base64img

String

{
	"success": true,
	"message": "Thành công",
	"captcha": "3", //kết quả giải ra
	"base64img": "/9j/4AAQSkZJRgABAgAAAQABAAsLDBkSEw8UHRofHh0aHBwgJC4nICI..."
}
{
	"success": false,
	"message": null,
	"captcha": null,
	"base64img": "/9j/4AAQSkZJRgABAgAAAQABAAsLDBkSEw8UHRofHh0aHBwgJC4nICI..."
}

hoặc

{
	"success": false,
	"message": "Số xu không đủ",
	"captcha": ""
}

hoặc

{
	"success": false,
	"message": "Api key không chính xác",
	"captcha": ""
}

3. Code mẫu

public class CatpchaResult
{
    public string log { get; set; }
    public bool status { get; set; }
    public string catcha { get; set; }
}
public class AnticaptchaTopApi
{
    public string apiKey = "";
    public string Post(string url, object data, string method = "POST")
    {
        int num = 0;
        NameValueCollection values;
        while (num < 1)
        {
            try
            {
                using (WebClient webClient = new WebClient())
                {
                    values = new NameValueCollection();
                    if (data != null)
                    {
                        data.GetType().GetProperties().ToList().ForEach(delegate (PropertyInfo pi)
                        {
                            values.Add(pi.Name, (pi.GetValue(data, null) ?? "").ToString());
                        });
                        byte[] bytes = webClient.UploadValues(url, method, values);
                        return Encoding.UTF8.GetString(bytes);
                    }
                    return webClient.DownloadString(url);
                }
             }
            catch
            {                
            }
        }
        return "";
    }
    public CatpchaResult GetCatpcha(string img,string imginstructions, int type)
    {
        var data = new
        {
            apikey = apiKey,
            type = type,
            imginstructions = imginstructions,
            img = img            
        };
        var rs = new CatpchaResult
        {
            status = false
        };
        try
        {
            var result = JsonConvert.DeserializeObject<dynamic>(Post("https://anticaptcha.top/api/captcha", data));
            if (result.success == true)
            {
                rs.status = true;
                rs.catcha = result.captcha;
                rs.log = result.message;
            }
        }
        catch
        {
        }
        return rs;
    }
}
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://anticaptcha.top/api/captcha",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"apikey\"\r\n\r\n[apikey]\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\n27\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"img\"\r\n\r\n[base64 ảnh]\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"imginstructions\"\r\n\r\n[câu hỏi]\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
  CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var form = new FormData();
form.append("apikey", "[apikey]");
form.append("type", "27");
form.append("img", "[base64 ảnh]");
form.append("imginstructions", "[câu hỏi]");

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://anticaptcha.top/api/captcha",
  "method": "POST",
  "headers": {
    "cache-control": "no-cache"
  },
  "processData": false,
  "contentType": false,
  "mimeType": "multipart/form-data",
  "data": form
}

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

Lưu ý: Nên sử dụng phần mềm PostMan để kiểm tra chạy test trước

ảnh dạng base64 (không phải ảnh chụp màn hình)

giải funcaptcha