python273 / vk_api

Модуль для создания скриптов для ВКонтакте | vk.com API wrapper
https://pypi.org/project/vk-api/
Apache License 2.0
1.33k stars 321 forks source link

Не выдается капча #488

Closed kanewi11 closed 1 year ago

kanewi11 commented 1 year ago

добавить описание

Окружение

vk_api: 11.9.9

API: 5.92

Пример

class VkPoster(UploadMixin):
    _vk: vk_api.VkApi = None
    group_id: int = None
    __login: str = None
    __password: str = None
    app_id: int = None

    def __init__(self, login: str, password: str, group_id: int):
        self.__login = login
        self.__password = password
        self.group_id = group_id

        if not self.__login or not self.__password or not self.group_id:
            raise Exception('One of the arguments is not passed: login, password, group_id')

        self.__vk_auth()

    @staticmethod
    def __two_factor_handler() -> Tuple[str, bool]:
        code = input('Код двухфакторной аутентификации: ')
        return code, True

    @staticmethod
    def __captcha_handler(captcha):
        key = input('Капча {0}: '.format(captcha.get_url())).strip()
        return captcha.try_again(key)

    def __vk_auth(self):
        self._vk = vk_api.VkApi(self.__login,
                                self.__password,
                                auth_handler=self.__two_factor_handler,
                                captcha_handler=self.__captcha_handler,
                                scope='video,docs,groups,wall,offline')
        try:
            self._vk.auth(token_only=True)
        except vk_api.AuthError:
            logger.error(traceback.format_exc())
            sys.exit()

Ошибка

app 2023-05-15 17:24:44,504 ERROR Traceback (most recent call last):
  File "/Users/nikita/PycharmProjects/Reposter/reposter/send/vk/vk.py", line 52, in __vk_auth
    self._vk.auth(token_only=True)
  File "/Users/nikita/PycharmProjects/Reposter/venv/lib/python3.10/site-packages/vk_api/vk_api.py", line 185, in auth
    self._auth_token(reauth=reauth)
  File "/Users/nikita/PycharmProjects/Reposter/venv/lib/python3.10/site-packages/vk_api/vk_api.py", line 236, in _auth_token
    self._vk_login()
  File "/Users/nikita/PycharmProjects/Reposter/venv/lib/python3.10/site-packages/vk_api/vk_api.py", line 330, in _vk_login
    self._pass_twofactor(response)
  File "/Users/nikita/PycharmProjects/Reposter/venv/lib/python3.10/site-packages/vk_api/vk_api.py", line 380, in _pass_twofactor
    raise TwoFactorError('Recaptcha required')
vk_api.exceptions.TwoFactorError: Recaptcha required

Все было ок, вход проходил, но когда случайно заспамил вход в вк, потребовал капчу, но она не выводится 🥲

kanewi11 commented 1 year ago

Ну я нашел сообщение о том что Recaptcha не работает, сделал при помощи получения токена