Image to Text - Captcha dạng ảnh

Hướng dẫn sử dụng API Giải Captcha Image to Text của 2captcha.net

Captcha thông thường là một hình ảnh có chứa văn bản bị bóp méo nhưng con người có thể đọc được. Để giải quyết hình ảnh xác thực, người dùng phải nhập văn bản từ hình ảnh. trông giống như những hình ảnh dưới đây

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

POST : https://2captcha.net/api/captcha

Các tham số Body:

POST HTTP
Url: https://2captcha.net/api/captcha
Content-Type: application/json

{
	"apikey": "YOUR_API_KEY",
	"img": "image base64 encoded hoặc url ảnh",
	"type": 14
}

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

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

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

3. Code mẫu

public class CatpchaResult
{
    public string log { get; set; }
    public bool status { get; set; }
    public string catcha { get; set; }
}
public class 2captchaTopApi
{
    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, int type)
    {
        var data = new
        {
            apikey = apiKey,
            type = type,
            img = img            
        };
        var rs = new CatpchaResult
        {
            status = false
        };
        try
        {
            var result = JsonConvert.DeserializeObject<dynamic>(Post("https://2captcha.net/api/captcha", data));
            if (result.success == true)
            {
                rs.status = true;
                rs.catcha = result.captcha;
                rs.log = result.message;
            }
        }
        catch
        {
        }
        return rs;
    }
}

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

Last updated