Skip to content

Антикапча для сервиса anti-captcha.com

License

Notifications You must be signed in to change notification settings

like-market/anticaptcha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Антикапча

Антикапча для сервиса anti-captcha.com на nodejs

Пример использования

Пример продакшн-кода для решения капчи при попытке авторизовать аккаунт в vk.com

При высокой частоте запросов vk.com попросит ввести капчу, данные от которой содержатся в ответе на запрос.
В этом случае скачиваем картинку, и отправляем её на сервис anti-captcha.com
После получения капчи - вызываем функцию авторзации с теме же параметрами, добавив капчу

authorize = async function(login, password, captcha_sid = null, captcha_key = null) {
    // Стандартные параметры запроса
    var params = {
        client_id:     2274003,                // Данные от приложения андроид
        client_secret: 'hHbZxrka2uZ6jB1inYsH', // Данные от приложения андроид
        grant_type:    'password',
        username:      login,
        password:      password,
        scope:         'pages,status,messages,wall,docs,groups,stats',
        v: 5.56
    }

    // Если нужно ввести капчу (т.е. есть данные капчи), то добавляем их
    if (captcha_sid && captcha_key) {
        params.captcha_sid = captcha_sid
        params.captcha_key = captcha_key // текст капчи
    }

    try {
        const response = await axios.get('https://oauth.vk.com/token', {params});
        return response.data;
    }catch (error) {
        // Если нужно ввести капчу
        if (error.response.data.error == 'need_captcha') {
            var captcha_img = error.response.data.captcha_img // Ссылка на капчу
            var captcha_sid = error.response.data.captcha_sid // ID капчи

            // Запрашиваем капчу с сервиса anti-captcha.com
            var [error, captcha_key] = await utils.anticaptcha.getCaptcha(captcha_img)
            if (!error) {
                // Вызываем эту же функцию, добавляя капчу в параметры
                const response = await exports.authorize(login, password, captcha_sid, captcha_key);
                return response;
            }
        }

        return error.response.data;
    }
}

About

Антикапча для сервиса anti-captcha.com

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published