Зациклить get traffic

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
257
Баллы
63
Сил больше нет, всё перепробовал с гет трафиком что в моих силах. Осталось только зациклить получение. Помогите пж зациклить всем известный код:
C#:
instance.UseTrafficMonitoring = true;
var traffic = instance.ActiveTab.GetTraffic();
System.Threading.Thread.Sleep(200); //250-350-450
foreach(var t in traffic) {
    if (t.Url.Contains("/search?tbm=map")) {
        return System.Text.Encoding.UTF8.GetString(t.ResponseBody);
        //return System.Text.Encoding.UTF8.GetString(t.ResponseBody, 0, t.ResponseBody.Length);
    }
}
return "0";
На ум приходит только один вариант, это цикл по количеству попыток с заданным шагом в мс пока return будет не 0. Задаю большую задержку, траффик не отлавливает, меньшую, ругается с ошибкой "Массив не может быть неопределенным. Имя параметра: bytes" ну это понятно. А задать что то среднее не вариант, т.к. ловим ошибки или пропуски.
 

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
257
Баллы
63
Парни помогите с кодом плз...
 

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
попробуй так
C#:
int i=0;
while(true)
{
    Thread.Sleep(500);
    i++;
    if(i > 10000) return "0";
    instance.UseTrafficMonitoring = true;
    var traffic = instance.ActiveTab.GetTraffic();
    System.Threading.Thread.Sleep(200); //250-350-450
    foreach(var t in traffic) {
        project.SendInfoToLog(t.Url);
        if (t.Url.Contains("/search?tbm=map")) {
            return System.Text.Encoding.UTF8.GetString(t.ResponseBody);
            //return System.Text.Encoding.UTF8.GetString(t.ResponseBody, 0, t.ResponseBody.Length);
        }
    }
}

return "0";
 
  • Спасибо
Реакции: Wide

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
257
Баллы
63
Выше код у парня не ловит код. Нашел еще метод WaitResponse. Хз правильно ли в код добавил. Для меня много в секундах задержка, в мс ни как нельзя добавить?
C#:
instance.UseTrafficMonitoring = true;
//System.Threading.Thread.Sleep(350); //250-350-450
var traffic = instance.ActiveTab.GetTraffic();
foreach(TrafficItem t in traffic) {
    if (t.Url.Contains("search?tbm=map")) {
        t.WaitResponse(30,2); //Первое значение, максимальное время ожидания. Второе значение, задержка между повторами в секундах.
        return (t.Url);
    }
}
return "0";
 
  • Спасибо
Реакции: djaga

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