prawn-cake / vk-requests

vk.com requests for humans. API library for vk.com
MIT License
158 stars 22 forks source link

Как получить captcha_sid и captcha_img? #17

Closed olexanderboychuk closed 7 years ago

olexanderboychuk commented 7 years ago

Как получить информации об капче при обработке ошибки?

prawn-cake commented 7 years ago

Не совсем понятен ваш кейс. Чтобы обработать капчу предусмотрена ручная обработка в "интерактивном" режиме, подразумевается, что обработав ее один раз, далее она запрошена не будет. Для того, чтобы создать api инстанс в "интерактивном" режиме, нужно использовать interactive опцию, например:

api = vk_requests.create_api(app_id=XXX, login='***', password='***', interactive=True)

Затем при выполнении методов api из консоли будет предложен input со ссылкой на капчу, подразумевая что пользователь откроет ее в браузере и затем введет в console input

Если хочется залезть в детали, то это имплементировано тут и вызывается тут, там всё довольно прямолинейно

olexanderboychuk commented 7 years ago

Ну а если мне не подходит такой вариант с консолью? Например я хочу реализовать это в гуи

prawn-cake commented 7 years ago

В таком случае нужно сделать следующее:

  1. Создать новый YourCustomAuthAPI класс, отнаследованный от InteractiveAuthAPI, в котором переопределить метод def get_captcha_key(captcha_image_url) где можно вызвать нужные gui функции
  2. Вручную собрать API инстанс (посмотрите как сделана create_api factory функция), например
    
    session = VKSession(app_id=app_id,
                              user_login=login,
                              user_password=password,
                              phone_number=phone_number,
                              scope=scope,
                              api_version=api_version,
                              auth_api_cls=YourCustomAuthAPI)
    api = API(session=session, timeout=timeout, **method_default_args)
prawn-cake commented 7 years ago

@outworldrunner получилось? P.S: Следующая версия библиотеки будет попроще в работе с классами для кастомизации

prawn-cake commented 7 years ago

Закрываю тикет ввиду его неактуальности