Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
R1senDev opened this issue Dec 1, 2024 · 9 comments

Comments

@R1senDev
Copy link

R1senDev commented Dec 1, 2024

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

Окружение

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()
@dimahimma
Copy link

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

@python273
Copy link
Owner

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

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

@kyzima-spb
Copy link
Contributor

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

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

Вопрос в интеграции, смотрю метод _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)

@python273
Copy link
Owner

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

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

@kyzima-spb
Copy link
Contributor

kyzima-spb commented Feb 1, 2025

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

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

@python273
Copy link
Owner

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

@kyzima-spb
Copy link
Contributor

@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

@python273
Copy link
Owner

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

@kyzima-spb
Copy link
Contributor

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

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants