Ожидание СМС

mrme

Client
Регистрация
25.06.2016
Сообщения
36
Благодарностей
1
Баллы
8
Доброго времени суток, уважаемый форум!
Честно, пытался найти информацию на форуме, но никак=(
Нужно осуществить такую задачу - получаю подтверждение по смс с сервиса sms activate
иногда приходит код, а иногда нифига..просто висит 20 минут...
Возможно ли как-то реализовать чтобы зенка ждала ответ только в теч 1-2 минут и потом пробывала получить новый номер и новый код?
Может интегрированные смс сервисы уже палятся везде где можно, буду признателен за ссылку на хорошие сервисы по смс в личку.
Спасибо
 

copper12

Client
Регистрация
26.11.2016
Сообщения
1 111
Благодарностей
260
Баллы
63
На примере статьи можно посмотреть как осуществляется получение номера
 

mrme

Client
Регистрация
25.06.2016
Сообщения
36
Благодарностей
1
Баллы
8
спасибо. Статью читал...
Единственное решение которое я нашел - это проверить на ответ wait и далее по условия брать другой номер. Я просто думал мб есть способ ожидания, который основывается на времени. Если через 2-3 мин нет кода, то условие выполняется
 

copper12

Client
Регистрация
26.11.2016
Сообщения
1 111
Благодарностей
260
Баллы
63
спасибо. Статью читал...
Единственное решение которое я нашел - это проверить на ответ wait и далее по условия брать другой номер. Я просто думал мб есть способ ожидания, который основывается на времени. Если через 2-3 мин нет кода, то условие выполняется
Есть в настройках Инстанса ползунок Таймаут выполнения команды в инстансе - время ожидания выполнения какой-либо команды в инстансе (любого экшена). Попробуйте использовать его. Если по истечении определенного времени нет номера, делайте заново запрос.
 
  • Спасибо
Реакции: mrme

mrme

Client
Регистрация
25.06.2016
Сообщения
36
Благодарностей
1
Баллы
8
Есть в настройках Инстанса ползунок Таймаут выполнения команды в инстансе - время ожидания выполнения какой-либо команды в инстансе (любого экшена). Попробуйте использовать его. Если по истечении определенного времени нет номера, делайте заново запрос.
спасибо. попробую
 

esouldy

Client
Регистрация
28.02.2016
Сообщения
185
Благодарностей
92
Баллы
28
Код:
//variables
string act_id = project.Variables["sms_id"].Value;
string baseurl = "http://api.getsms.online/stubs/handler_api.php?api_key=***********&action=";
//=================code=================
//set status
string resp = mh.restGET(baseurl+"setStatus&id="+act_id+"&status=1");
//wait answer 50 seconds
for (int i = 1; i <= 50; i++)
{
   resp = mh.restGET(baseurl+"getStatus&id="+act_id);
   if (resp.Contains("STATUS_OK")) return resp.Remove(0,10);
   if (resp.Contains("STATUS_WAIT_CODE")) Thread.Sleep(1000);
   if ((resp.Contains("ERROR"))||(resp.Contains("CANCEL"))) throw new Exception("activation cancelled");

}
максимальное время ожидания - 50 секунд. проверяем ответ казждую секунду. если есть ответ - выходим из цикла, иначе ждем. так же проверяем на ошибки в сервисе. на основе этого кода я работал со многими сервисами. mh.restGET заменить на стандартный зенопостеровский гет запрос (тут из моей либы запрос) и будет работать. ну и тут на примере гетсмс.
 

mrme

Client
Регистрация
25.06.2016
Сообщения
36
Благодарностей
1
Баллы
8

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
68
Баллы
28
максимальное время ожидания - 50 секунд.
Создал с# прописал данный код выходит ошибка при запуске любого кубика компиляция кода ошибка действии cs0103. Можете пример в зенопостере скинуть?? уже 2 дня мучаюсь с этим вопросом, за ранее огромное спасибо!
 

esouldy

Client
Регистрация
28.02.2016
Сообщения
185
Благодарностей
92
Баллы
28
Создал с# прописал данный код выходит ошибка при запуске любого кубика компиляция кода ошибка действии cs0103. Можете пример в зенопостере скинуть?? уже 2 дня мучаюсь с этим вопросом, за ранее огромное спасибо!
только там первый кубик с получением количества номеров не работает (помечен): нужно жсон парсить, я это делаю опять же через свою библиотеку. запросы переделал на зенновские, но работоспособность не проверял
 

Вложения

  • Спасибо
Реакции: art22

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
68
Баллы
28
да мне чисто данный кусок кода нужен чтобы не ждать 4 минуты, это через чур...:be:

(getsms.online)sms was sent добавил в свой проект чтобы ждать и принять код... но через пару секунд зенку вырубает(
 

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
68
Баллы
28
esouldy. Можешь поправить код чтобы принимал код?)
 

esouldy

Client
Регистрация
28.02.2016
Сообщения
185
Благодарностей
92
Баллы
28

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
68
Баллы
28
//variables
string act_id = project.Variables["sms_id"].Value;
string baseurl = "http://sms-activate.api.5sim.net/stubs/handler_api.php?api_key=(API адрес)&action=";
//=================code=================
//set status
string resp = ZennoPoster.HttpGet(baseurl+"setStatus&id="+act_id+"&status=1", "", "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);
//wait code
for (int i = 1; i <= 50; i++)
{
resp = ZennoPoster.HttpGet(baseurl+"getStatus&id="+act_id, "", "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);
if (resp.Contains("STATUS_OK")) return resp.Remove(0,10);
if (resp.Contains("STATUS_WAIT_CODE")) Thread.Sleep(1000);
if ((resp.Contains("ERROR"))||(resp.Contains("CANCEL"))) throw new Exception("activation cancelled");

}

сам код, положил в переменную в код, как доходит до него то через секунду прога вылетает
 

esouldy

Client
Регистрация
28.02.2016
Сообщения
185
Благодарностей
92
Баллы
28
думаю, проще будет сразу на проект поглядеть. пока время есть, можешь в личку прислать
 

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
68
Баллы
28

esouldy

Client
Регистрация
28.02.2016
Сообщения
185
Благодарностей
92
Баллы
28
  • Спасибо
Реакции: art22

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
68
Баллы
28
поменял
string act_id = project.Variables["id"].Value; вырубает( или не то поменял?
 

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