FunCAPTCHA

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

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

1. Tìm Publickey của funCAPTCHA

Publickey có thể tìm thấy bên trong tham số data-pkey của phần tử div của funcaptcha hoặc bên trong phần tử đầu vào có tên fc-token - chỉ cần trích xuất khóa được chỉ định sau pk từ giá trị của phần tử này.

2. 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

type

Interger

x

Giá trị: 16

websitekey

String

x

Giá trị của tham số pk hoặc data-pkey

pageurl

String

x

data

String

Tham số bổ sung có thể được yêu cầu khi triển khai Funcaptcha. Sử dụng thuộc tính này để gửi giá trị "blob" dưới dạng một mảng được xâu chuỗi. Ví dụ: {\"blob\":\"giá_trị_của_blob\"}

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

{
	"apikey": "YOUR_API_KEY",
	"type": 16, // id cho hCAPTCHA
	"websitekey": "804380F4-6844-FFA1-ED4E-5877CA1F1EA4", // thay bằng puclickey funcaptcha của bạn
	"pageurl": "https://funcaptcha.com/tile-game-lite-mode/fc/api/nojs/?pkey=804380F4-6844-FFA1-ED4E-5877CA1F1EA4&lang=en" // thay bằng url của bạn
}

3. Nhận 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ả giải ra = token dùng để vượt funCAPTCHA

base64img

String

Không dùng đến

{
	"success": true,
	"message": "Thành công",
	"captcha": "8561740a2df15f7e9.8728535301|at=40|cdn_url=https%3A%2F%2Fclient-.....", //kết quả giải ra
	"base64img": null
}

4. 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(int type=16,string websitekey,string pageurl)
    {
        var data = new
        {
            apikey = apiKey,
            type = type,
            websitekey = websitekey,
            pageurl = pageurl
        };
        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;
    }
}

5. Sử dụng kết quả token nhận được

Định vị phần tử có id fc-token và đưa token nhận được vào giá trị của phần tử này. Làm phần còn lại những gì bạn cần làm trên trang web: submit form hoặc nhấp vào nút hoặc thứ gì đó khác

Xin lưu ý: đôi khi nội dung trên trang được tạo động và bạn sẽ không thấy phần tử này trong mã nguồn html. Trong những trường hợp như vậy, bạn phải khám phá mã javascript mà tạo ra nội dung. Tùy chọn "Inspect" (F12) trong Google Chrome có thể giúp ích trong việc đó.

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

Last updated