GeeTest Captcha V4

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

Các kiểu Captcha GeeTest hỗ trợ

Hình minh họaKiểuGhi chú

slide

click

1. Tìm captcha id của Geetest Captcha V4

Mở developer's console của browser và tìm script element mà load GeeTest v4 script, trong đó sẽ có chứa tham số captcha_id mà bạn cần nằm trong thuộc tính src của script.

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ị: 22

captchaId

String

x

Giá trị captcha_id của GeeTest

pageurl

String

x

url của webpage hiển thị GeeTest Captcha mà bạn muốn giải Ví dụ: https://gt4.geetest.com/ https://www.geetest.com/en/adaptive-captcha-demo

geetestApiServerSubdomain

String

Subdomain của api Ví dụ: api-na.geetest.com

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

{
	"apikey": "YOUR_API_KEY",
	"type": 22, // captcha id của Geetest V4
	"captchaId": "54088bb07d2df3c46b79f80300b0abbe", // thay bằng captcha_id geetest của bạn
	"pageurl": "https://gt4.geetest.com/" // 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 GeeTest Captcha V4

base64img

String

Không dùng đến

{
	"success": true,
	"message": "Thành công",
	"captcha": ""captcha": "{\"captcha_id\":\"e392e1d7fd421dc63325744d5a2b9c73\",\"captcha_output\":\"fN36ufW6cQN-UMXTCVLbpiXSTDg3WKOIXwNq-tTP7vMpGNNPZmVuUX0OUZtf-froY23s7-xO571B0UIek3UIqhLorlmV8e6fw4RTRbgZ0-E0a5fBUO7MnsB0RW-1Jrbr0V-8NaSWVc20NodzKxeM5Cso8SWDoMgZOS2BRklgGbB6jn5H8A6Wrt4JyYuYgv9W3D2Wcr4US89oxhkHzhQbToDOObY_0rRWY0PQPPJMM77YQOT_RNge5DeI-_MkZ8zQmBXBXdEu1dERay5ZxrAimw==\",\"gen_time\":\"1698205949\",\"lot_number\":\"b594e81981ec480ea39f2df034673b2e\",\"pass_token\":\"885e7cefc60db805cb665e65d29750467c6a61b1922e3fb0342b60ce46f35ade\",\"risk_type\":\"slide\"}", //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=22,string captchaid,string pageurl)
    {
        var data = new
        {
            apikey = apiKey,
            type = type,
            captchaId = captchaid,
            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

Sử dụng các giá trị được trả về trên trang web mục tiêu của bạn giống như cách chúng được sử dụng khi bạn giải hình ảnh xác thực theo cách thủ công. Có thể có một biểu mẫu với một tập hợp các input ẩn hoặc callback JavaScript. Hoặc bạn có thể chỉ cần xây dựng một yêu cầu HTTP với dữ liệu cần thiết

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

Last updated