-
Автор темы
- #1
Всем привет, вообще это должен был быть авторег стим, но я посчитал нужным сделать для стим авторега почты. Проект был задуман в сентябре, но из-за того что я очень ленивый и имею много проблем в реальной жизни, решил доделать его только сегодня. Кстати выбрал маил ру, потому что она относительно популярная и для регистрации не нужен номер (При условии что айпи русский и не лимитнут (акаунта 4)), ну и капча там самая простая.
Я делал ее с закосом под библиотеку, чтобы в будущем, можно было подключить ее к стим авторегу
Вроде как тут все просто и понятно
1. Создается объект регистрации
2. Вызывается метод signup который отправляет указанные данные и возвращает токен нужный для подтверждения
3. Вызывается метод get_captcha_code для получения байтов изображения капчи (если что формат jpeg)
4. Тут нужно решить капчу, можно самому, можно через апи
5. Отправляется подтверждение капчи и возвращается url для быстрого входа, если через нее не войти, то при входе с пароля будет требовать почту восстановления
6. Отправляется гет запрос на ссылку для входа чтобы избежать 5й пункт
В принципе - не сложно, но над логикой я ебался относительно долго, пока не осознал что нужна сессия для кук, потому что там все на них :)
Так же для более удобного тестирования я писал на реквестах, но можно добавить async к каждой функции и await к каждому вызову, заменив Session на aiohttp.ClientSession
Я делал ее с закосом под библиотеку, чтобы в будущем, можно было подключить ее к стим авторегу
Python:
from datetime import datetime
from random import choice
from requests import Session
from mailru import Registration, utils
session = Session()
registration = Registration(
session=session,
name=utils.get_random_string(5),
surname=utils.get_random_string(5),
birthday=utils.get_random_datetime(datetime(1970, 1, 1), datetime(2004, 1, 1)),
gender=choice(("male", "female")),
mail=utils.get_random_string(8),
domain=choice(("mail.ru", "internet.ru", "bk.ru", "inbox.ru", "list.ru")),
password=utils.get_random_string(16),
restore_mail=utils.get_random_string(7) + "@" + utils.get_random_string(4) + "." + utils.get_random_string(2)
)
token = registration.signup()
captcha_bytes = registration.get_captcha_code()
captcha_solve = ... # Тут должно быть решение капчи
join_url = registration.confirm(token, captcha_solve)
session.get(join_url)
print(
"login: " + registration.mail,
"password: " + registration.password,
"restore_mail" + registration.restore_mail,
"domain" + registration.domain
)
1. Создается объект регистрации
2. Вызывается метод signup который отправляет указанные данные и возвращает токен нужный для подтверждения
3. Вызывается метод get_captcha_code для получения байтов изображения капчи (если что формат jpeg)
4. Тут нужно решить капчу, можно самому, можно через апи
5. Отправляется подтверждение капчи и возвращается url для быстрого входа, если через нее не войти, то при входе с пароля будет требовать почту восстановления
6. Отправляется гет запрос на ссылку для входа чтобы избежать 5й пункт
В принципе - не сложно, но над логикой я ебался относительно долго, пока не осознал что нужна сессия для кук, потому что там все на них :)
Так же для более удобного тестирования я писал на реквестах, но можно добавить async к каждой функции и await к каждому вызову, заменив Session на aiohttp.ClientSession
Вложения
-
2.8 KB Просмотры: 230