Регистрация и подтверждение аккаунта Ok.ru через api сервиса SimSMS.org

  • Автор темы Автор темы Juniorcpa
  • Дата начала Дата начала

Juniorcpa

Client
Регистрация
27.05.2014
Сообщения
2 031
Реакции
1 287
Баллы
113
Всем привет!
Сегодня я хотел бы рассказать и показать Вам о том, как необычайно просто работать с API сайтов, которые готовы активировать по СМС любые Ваши прихоти (легальные). В статье разберём API сайта SimSMS.org (Для тех кто не знает что такое API)

Пойдём по порядку.
Первоначально нам нужно сделать заготовочку для авторизации на сайте Ok.ru
bmob8b7UXxpLry.jpg

На скрине, по стандарту, очищаем куки и кеш, после чистки кеша идем на экшен Switch, который определяет дальнейший исход событий в шаблоне (Если пользователь выбрал во входящих настройках использование ПРОКСИ, то свитч пойдет через ПРОКСИ, если выбрал вариант защиты "Никак", то мы сразу идем на сайт Ok.ru).
Сразу после экшена перехода на сайт m.ok.ru, стоит экшен "click", который отвечает за нажатие на кнопку "Регистрация" (в мобильной версии сайта)

Распыляться со входными настройками я не стал и решил вшить базу имен и фамилий (мужских и женских) прямо в шаблон, юзерфрендли наше всё (выделено зеленым). Реализовано так же через экшен Switch.
Для совсем новеньких:
Экшен Switch является расширенной версией оператора If со своими особенностями.
Если экшен If имеет две ветки выхода - true и false, то экшен Switch может иметь несколько веток выхода по true, и только одну false - которая представлена выходом Default. В экшене Switch можно использовать переменные.

krDk5kyFZEPjAp.jpg


Сейчас у нас получилось вот что:
В шаблоне подготовлены имя и фамилия для аккаунта, в нужном табе подключена прокси (или не подключена) и этот таб открыт на страничке ввода номера телефона для регистрации:

DrlM1MkSZvWNmP.jpg


p.s Ссылка на документацию по API сервиса: http://simsms.org/api.html
Нам необходимо получить номер в сервисе SimSMS.org, для этого нам необходимо выполнить вот этот гет-запрос:
http://simsms.org/priemnik.php?metod=get_balance&service=opt5&apikey=DSWAFvdedrE4, где в параметре apikey, должен быть указан Ваш APIKEY (взять можно во вкладке "профиль", на скрине выделено красным):

1A5JOJ6U1nqerE.jpg


Ответ, который мы получим будет в таком виде:
{"response":"1","balance":"385.00"}, откуда нам необходимо вытянуть цифру 385, экшеном "IF" выполнить равенство и продолжить работу шаблона или отключить (например, если активация стоит 5 рублей, а у нас на счету 3 рубля, то шаблон
отключаем)
. В шаблоне это реализовано вот так:​
eAO6n6jiax092o.jpg
Далее, нам нужно узнать, есть ли в наличии номера для нужной нам активации. Делается это запросом:
http://simsms.org/priemnik.php?metod=get_count&service=opt5&apikey=DSWAFvdedrE4&service_id=ok
Данный запрос использует три переменных (три значения\параметра) нужные нам, это:
1)
service_id=vk - ID сервиса
2)
service=opt5 - название сервиса
3) apikey=DSWAFvdedrE4 - Ваш APIKEY (ключ доступа)

В ответе на этот запрос мы получим:
{"response":"1","counts Vkontakte":"127"}, где нам четко и ясно дают понять, что осталось 127 активаций, а это значит что настало время очередного экшена IF:

nAy6d6jiQY8GrZ.jpg

Так как активации нужные нам присутствуют, а в браузере уже висит готовая форма для ввода номера (на сайте m.ok.ru форма регистрации), то нам необходимо уже получить номер, для чего мы выполняем запрос с методом Get_number:
http://simsms.org/priemnik.php?metod=get_number&country=ru&service=opt5&id=1&apikey=DSWAFvdedrE4, где нужные нам параметры это "service" и "apikey". После выполнения этого запроса нам могут поступить два ответа:
1) Плохой - {"response":"2","number":"","id":-1}
2) Хороший - {"response":"1","number":"9871234567","id":"25623"}

Если поступает ответ номер 1, то нам необходимо подождать (от 15 секунд) и повторить запрос с методом Get_number, но если поступил ответ номер 2 (хороший), то регулярным выражением, составленным через конструктор рег. выражений, мы разделяем ответ и выдергиваем из него номер 9871234567 и ID активации 25623 и кладем их в переменные "number" и "id_activ", вводим на сайте m.ok.ru номер и жмякаем кнопку "Получить код".
У меня за последние действия отвечает вот эта часть в шаблоне:

KAgJOJ3U641Y2l.jpg


После того как мы нажали кнопку "Получить код", нам необходимо дать сервису (SimSMS.org) знать о том, что СМСка отправлена и нам бы хотелось её быстрее получить, и для этого мы отправляем очередной гет-запрос с методом get_sms:
http://simsms.org/priemnik.php?metod=get_sms&country=ru&service=opt5&id=25623&apikey=DSWAFvdedrE4, где нужные нам параметры это:
1) service
2) id (в переменной id_activ)
3) apikey
После выполнения запроса с методом Get_sms мы можем получить 3 ответа (хотя в офф. документации сервиса прописано их два):
  • {"response":"2","number":"9871234567","sms":null} (означает СМС еще не пришла, отправь запрос еще раз)
  • {"response":"1","number":"9871234567","sms":''234562'} (означает, что СМС пришла, все ок, гоу регать)
  • {"response":"3","number":"","sms":'''} (что-то такое) (означает что все хуже чем могло бы быть, отменяй номер и давай заново)
Мы имеем три вариации ответа и проще всего нам сначала узнать, какой ответ пришел (будем их называть "Респонс1, Респонс2 и Респонс3).
A) Если пришел ответ "Респонс3" то мы делаем гет-запрос с методом denial:
http://simsms.org/priemnik.php?metod=denial&country=ru&service=opt5&id=25623&apikey=DSWAFvdedrE4, где от нас требуется APIKEY, SERVICE и ID. После отмены номера отправляем запрос на получения нового номера (get_sms).
B) Если пришел ответ "Респонс2", то ждем 40 секунд и снова отправляем запрос на get_sms
C) Если пришел ответ "Респонс1", то регуляркой вытаскиваем СМСку, которая к нам пришла и вводим на сайте m.ok.ru

В шаблоне все это выглядит вот так (это заключающая часть):

Y2LDRDGCL9yy26.jpg

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

Для тех кто только качает шаблоны, этот шаб отвечает за регистрацию и активацию аккаунтов Ok.ru через сервис SimSMS.org

Скачать шаблон: https://yadi.sk/d/sPSshJuzkzCzL
 
Номер конкурса статей
  1. Четвертый конкурс статей
Тема статьи
  1. Соц. сети
Последнее редактирование:
Немного о работе с API VK.com
Напишем простенький парсер лайкнувших пост, но уже не так подробно как в предыдущем посте:
Заходим в нужный нам метод (https://vk.com/dev/likes.getList) и смотрим параметры, и составляем запрос

https://api.vk.com/method/likes.getList?type=post&owner_id={-Variable.owner_id-}&item_id={-Variable.ited_id-}

Допустим, парсим лайкнувших с этого поста: https://vk.com/wall-26090596_205752

Сиреневым цветом я выделил параметры этого запроса, каждый отвечает за:
1) type - данный параметр отвечает за то, откуда мы будем парсить (пост, видео, коммент) и у нас указано "post"
V2Vv8vVcYxwn2v.jpg

2) owner_id - это айди пользователя или группы, откуда парсим (в нашем случае группа, а значит в переменной будет значение "-26090596")
D2PyXypHRp7gA3.jpg

3) item_id - это айди поста в группе или у пользователя (в нашем случае это 205752)
Вот такой запрос получился:
https://api.vk.com/method/likes.getList?type=post&owner_id=-26090596&item_id=205752

В ответе мы видим, что пост имеет 403 лайка:
BA0bKbDUVJgDmy.jpg

а уже далее, с помощью обычной регулярки и мастерства логики приводим это в нужный нам вид.

Всем спасибо!
Хотите более детального разбора функций VK API? Жмите "Мне нравится" !
 
Последнее редактирование:
Имена/Фамилии удобнее использовать генерируемые в профилях ZP.
 
  • Спасибо
Реакции: angel737
Имена/Фамилии удобнее использовать генерируемые в профилях ZP.
Может быть да, изначально я делал все во входящих настройках, но после того как в зеннобоксе у человека входящие не указывались, вшил в шаб (как скорейшее решение проблемы).
 
к ФБ я даже не притрагивался еще :)
 
Спасибо, ценная информация, все никак руки не доходили.
 
Недавно тоже сделал такой шаблон только сервис активации sms-reg и регистрация в обычной версии- шаб получает номер, потом идет регистрировать. Эх прошли времена когда можно было без активаций по смс.:-)
 
  • Спасибо
Реакции: angel737
p.s я там шаб выложил, в нем еще на другой сервис начал писать, но не закончил. Можете пропалить как че делалось :)
 
А расскажите что за батник. Что делает? Как работает?
 
Верно :)
 
  • Спасибо
Реакции: LightWood
Как насчет того, что написано в офф руководстве api:
"Если СМС не пришла в течении 580 секунд (9 минут 40 секунд), обязательно отправляйте полученный номер в бан.
Если Вы отправите номер в бан после ожидания 10 минут, Ваш полученный номер не отправится в бан и может выдастся заново, т.к. система хранит ID запроса в базе ровно 10 минут, после этого ID удаляется из базы."

Вы не думали как-то реализовать отправку номера в бан, если в течении 9 минут смска не пришла
 
Запрос сделать 1 минуту. Еще 5 минут придумать куда его воткнуть. Займитесь :)
 
Запрос сделать 1 минуту. Еще 5 минут придумать куда его воткнуть. Займитесь :-)
Странно как то, вообщето это к Api прилагается там, можно было бы и реализовать это сразу для людей
 
Запрос сделать 1 минуту. Еще 5 минут придумать куда его воткнуть. Займитесь :-)
Да я просто предложил. Сам сейчас занимаюсь написанием проекта с автоматизацией прием смс и обязательно сделаю у себя и всем остальным также рекомендую делать) Вам спасибо за статью
 
Да я просто предложил. Сам сейчас занимаюсь написанием проекта с автоматизацией прием смс и обязательно сделаю у себя и всем остальным также рекомендую делать) Вам спасибо за статью
Рад был стараться :)
 
Благодарю за шаблон!
Пришлось изменить регулярное выражение для корректной записи в переменную IDactive после заполнения переменной number.
 
Последнее редактирование:
у них просто обновилось апи немного (регулярки менять надо)
 
всем привет, можно ли настроить проект что бы один номер подтверждал несколько раз?
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)