Ожидание СМС

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

mrme

Client
Регистрация
25.06.2016
Сообщения
36
Реакции
1
Баллы
8
Доброго времени суток, уважаемый форум!
Честно, пытался найти информацию на форуме, но никак=(
Нужно осуществить такую задачу - получаю подтверждение по смс с сервиса sms activate
иногда приходит код, а иногда нифига..просто висит 20 минут...
Возможно ли как-то реализовать чтобы зенка ждала ответ только в теч 1-2 минут и потом пробывала получить новый номер и новый код?
Может интегрированные смс сервисы уже палятся везде где можно, буду признателен за ссылку на хорошие сервисы по смс в личку.
Спасибо
 
На примере статьи можно посмотреть как осуществляется получение номера
 
спасибо. Статью читал...
Единственное решение которое я нашел - это проверить на ответ wait и далее по условия брать другой номер. Я просто думал мб есть способ ожидания, который основывается на времени. Если через 2-3 мин нет кода, то условие выполняется
 
спасибо. Статью читал...
Единственное решение которое я нашел - это проверить на ответ wait и далее по условия брать другой номер. Я просто думал мб есть способ ожидания, который основывается на времени. Если через 2-3 мин нет кода, то условие выполняется
Есть в настройках Инстанса ползунок Таймаут выполнения команды в инстансе - время ожидания выполнения какой-либо команды в инстансе (любого экшена). Попробуйте использовать его. Если по истечении определенного времени нет номера, делайте заново запрос.
 
  • Спасибо
Реакции: mrme
Есть в настройках Инстанса ползунок Таймаут выполнения команды в инстансе - время ожидания выполнения какой-либо команды в инстансе (любого экшена). Попробуйте использовать его. Если по истечении определенного времени нет номера, делайте заново запрос.
спасибо. попробую
 
Код:
Развернуть Свернуть Копировать
//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 заменить на стандартный зенопостеровский гет запрос (тут из моей либы запрос) и будет работать. ну и тут на примере гетсмс.
 
максимальное время ожидания - 50 секунд.

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

Вложения

  • Спасибо
Реакции: art22
да мне чисто данный кусок кода нужен чтобы не ждать 4 минуты, это через чур...:be:

(getsms.online)sms was sent добавил в свой проект чтобы ждать и принять код... но через пару секунд зенку вырубает(
 
esouldy. Можешь поправить код чтобы принимал код?)
 
//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");

}

сам код, положил в переменную в код, как доходит до него то через секунду прога вылетает
 
думаю, проще будет сразу на проект поглядеть. пока время есть, можешь в личку прислать
 
поменял
string act_id = project.Variables["id"].Value; вырубает( или не то поменял?
 

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