Что это может быть? Индекс находился вне границ массива. стр 51

volna88

Client
Регистрация
07.02.2021
Сообщения
56
Благодарностей
2
Баллы
8
string apikey = "CJ9MZ0JCTALRZ9HXIIXY5AMB6950MEJP";
string response = String.Empty;
string sms = String.Empty;

response = ZennoPoster.HttpGet(String.Format("http://api.getsms.online/stubs/handler_api.php?api_key={0}&action=getNumbersStatus", apikey), "", "utf-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 10000, "", "", false, 5, null, "", false);


CountNumber cn = new JavaScriptSerializer().Deserialize<CountNumber>(response);

if(cn.ya_0 <= 0)
{
//project.SendInfoToLog("номеров нет, прекращаем работу", true);
//return null;
throw new Exception("номеров нет, прекращаем работу");
}
else
{
project.SendInfoToLog(String.Format("количество свободных номеров{0}, продолжаем регистрацию", cn.ya_0), true);
}

response = ZennoPoster.HttpGet(String.Format("http://api.getsms.online/stubs/handler_api.php?api_key={0}&action=getNumber&service=ya_0&country=ru", apikey), "", "utf-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 10000);

if(response.ToLower().Contains("no key"))
throw new Exception("Неверный apikey");

if(response.ToLower().Contains("no action"))
throw new Exception("Не указана API-функция");

if(response.ToLower().Contains("bad key"))
throw new Exception("Неверный apikey");

if(response.ToLower().Contains("bad action"))
throw new Exception("Неверная API-функция");

if(response.ToLower().Contains("error sql"))
throw new Exception("Ошибка SQL-сервера");

if(response.ToLower().Contains("bad service"))
throw new Exception("Неверный сервис");

if(response.ToLower().Contains("bad country"))
throw new Exception("Неверная страна");

if(response.ToLower().Contains("no means"))
throw new Exception("Недостаточно средств на счету");

if(response.ToLower().Contains("no number"))
throw new Exception("Нет номеров с заданными параметрами");


string[] getNumber = response.Split(':');
string id = getNumber[1];
string number = getNumber[2];

project.SendInfoToLog(id + "|" + number);


response = ZennoPoster.HttpGet(String.Format("http://api.getsms.online/stubs/handler_api.php?api_key={0}&action=setStatus&id={1}&status=1", apikey, id), "", "utf-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 10000);
project.SendInfoToLog(response);



for(int i = 0; i < 10; i++)
{

response = ZennoPoster.HttpGet(String.Format("http://api.getsms.online/stubs/handler_api.php?api_key={0}&action=getStatus&id={1}", apikey, id), "", "utf-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 10000);

project.SendInfoToLog(response);
}



return response;
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 724
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 643
Баллы
113

volna88

Client
Регистрация
07.02.2021
Сообщения
56
Благодарностей
2
Баллы
8

volna88

Client
Регистрация
07.02.2021
Сообщения
56
Благодарностей
2
Баллы
8
Ура!! Решилось)))) Спасибо всем за помощь)))
 
  • Спасибо
Реакции: Valtevane

qalv

Client
Регистрация
26.03.2018
Сообщения
69
Благодарностей
16
Баллы
8
как решилось то ? мне интересно!
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 369
Благодарностей
735
Баллы
113

qalv

Client
Регистрация
26.03.2018
Сообщения
69
Благодарностей
16
Баллы
8
я не понимаю, ну есть списки, из них берётся первая строка, всё работало нормально, и вот внезапно перестало работать, причём после перезапуска зенки пару раз сробатывает потом опять, в прожекте всё работает нормально, тут явно что-то в самой зенке, на другом компе так же всё работает! получается функция взять строку из списка не нужно использовать, брать строку через C# , и при этом залочить её, единственный способ!
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 643
Баллы
113
я не понимаю, ну есть списки, из них берётся первая строка, всё работало нормально, и вот внезапно перестало работать, причём после перезапуска зенки пару раз сробатывает потом опять, в прожекте всё работает нормально, тут явно что-то в самой зенке, на другом компе так же всё работает! получается функция взять строку из списка не нужно использовать, брать строку через C# , и при этом залочить её, единственный способ!
уверен, там явно не что-то с зенкой, а что-то с логикой, которую ты выстроил
 

qalv

Client
Регистрация
26.03.2018
Сообщения
69
Благодарностей
16
Баллы
8
уверен, там явно не что-то с зенкой, а что-то с логикой, которую ты выстроил
как ты объяснишь что в прожекте всё работает нормально а в зенке ошибка ? я думаю никак!
 

qalv

Client
Регистрация
26.03.2018
Сообщения
69
Благодарностей
16
Баллы
8
проблема как рукой снимается когда удаляешь любое использование списков, на первое время помогало убрать пробел в пути до скрипта и кириллицу но потом опять та же ошибка, можно перейти на базу данных как вариант или C# тягать строки с анлоком, больше вариантов не вижу
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 643
Баллы
113
как ты объяснишь что в прожекте всё работает нормально а в зенке ошибка ? я думаю никак!
люди часто любят держать путь к списку или его часть в переменной. В пм это сработает, а в постере нет. И это только один из вариантов. Так что можешь думать дальше, что никак)
 

qalv

Client
Регистрация
26.03.2018
Сообщения
69
Благодарностей
16
Баллы
8
мне проще показать скрины, чтобы избежать лишних комментов, при этом проработает не долго пару дней и опять выскочит ошибка уже в новом пути, это не нормально надо что-то делать!
 

Вложения

Последнее редактирование:

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