vk_api icon indicating copy to clipboard operation
vk_api copied to clipboard

vk_api.exceptions.AuthError: Unknown error (AUTH; no sid). Please send a bugreport to GitHub

Open R1senDev opened this issue 1 year ago • 9 comments

Попросили отправить багрепорт :)

Окружение

vk_api: 11.9.9 API: 5.92

Пример

def chandler(capthca: Captcha) -> str:
    open_new_tab(capthca.get_url())
    return input('Solve the captcha that just opened in your browser: ')

vk = VkApi(*config['vk'], captcha_handler = chandler)
vk.auth()

R1senDev avatar Dec 01 '24 20:12 R1senDev

такая же ошибка, то появляется, то пропадает

dimahimma avatar Dec 04 '24 17:12 dimahimma

Видимо иногда возвращается новая логин форма, она не поддерживается. Если кто-то отправит фикс - мержну

Вроде код для той формы, но лучше сами смотрите в браузере запросы и откуда значения берутся https://github.com/imartemy1524/vk_captcha/blob/b36d3829882bc4e3c79af1d6530d2f52d0074c4d/VkHacker/tools.py#L292

python273 avatar Dec 09 '24 20:12 python273

Видимо иногда возвращается новая логин форма

Видимо теперь новая форма возвращается всегда =) Я сделал реализацию на коленке, но пока без нормальной проверки на ошибки и интеграции с вашей либой

Вопрос в интеграции, смотрю метод _vk_login, я так понимаю он отвечает за всю логику входа с куками. Прав ли я, что если старая форма больше не возвращается, то весь код (кроме сохранения кук) можно смело выбросить и заменить новым?

И второй вопрос, не понимаю за что отвечает этот кусочек кода? Что за ошибка (если речь не про HTTP конечно =), актуально ли в 2025?

if response.url.startswith('https://vk.com/429.html?'):
    # is this version still used???
    hash429_md5 = md5(self.http.cookies['hash429'].encode('ascii')).hexdigest()
    self.http.cookies.pop('hash429')
    response = self.http.get(f'{response.url}&key={hash429_md5}')

response = self._check_challenge(response)

kyzima-spb avatar Jan 29 '25 16:01 kyzima-spb

@kyzima-spb Хмм, тут вопрос всегда или у некоторых IP все еще бывает старая. Но наверн в целом можно на новую переделать

C 429 не уверен, можно оставить где-то там

python273 avatar Jan 29 '25 16:01 python273

@python273 exceptions.TWOFACTOR_CODE = -2 - это реальное значение, которое возвращает/возвращал ВК или минус намекает, что это придуманная константа?

Сейчас при валидации кода возвращается 1110, можно ли значение -2 поменять на него ничего не сломав? В коде не нашел никакого сравнения с этой константой

kyzima-spb avatar Feb 01 '25 11:02 kyzima-spb

@kyzima-spb минус не из апи, оно в self.error_handlers используется, менять думаю не нужно

python273 avatar Feb 01 '25 11:02 python273

@python273 не смог понять, можно ли запомнить устройство и не вводить повторно код, пытался старый код подергать, но без результата

В ответ на вызов метода auth.validateAccount приходит какой-то remember_hash, но в логах не нашел, куда его потом передают и связанные это вещи или нет. Галочка "сохранить вход" в форме задает значение 0/1 для save_user при вызове https://login.vk.com/?act=connect_authorize, я по-умолчанию передаю 1 - эффекта нет

Пока вот так: https://github.com/kyzima-spb/vk_api/blob/62011894b42268343e037417b02c6247c0149710/vk_api/vk_api.py#L488

kyzima-spb avatar Feb 01 '25 14:02 kyzima-spb

@kyzima-spb оно возможно с device_id связано и его нужно в конфиг писать. С всякими remember_hash можно поискать сохраняются ли занчения в localstorage, indexeddb, если есть то потом ключи можно в JS коде поискать - может что-то найдется связанное

python273 avatar Feb 01 '25 14:02 python273

@python273 device_id точно сохраняется, я по нему нашел в js функцию для его генерации и добавил в utils, но в браузере оно явно не влияет ни на что

remember_hash при запросе из браузера и при запросе через питон генерируется одинаковый, значит от не завязан ни на что, в localstorage и т.п. не нашел ничего похожего

Браузер при любых раскладах просит от меня ввод кода, может они убрали эту фичу?

Нашел другое, это не про девайс, а про галочку "сохранить вход", что-то видимо не хватает, потому что из питона я указываю сохранить, после пытаюсь получить сохраненных и пусто. С куками из браузера сохраненные аккаунты в питоне получил, делаю запрос на перелогин - ошибка. Не уверен, что этот функционал вообще кому-то будет интересен =)

kyzima-spb avatar Feb 01 '25 16:02 kyzima-spb