Не работает GetTraffic

dr.reklam

Client
Регистрация
02.06.2020
Сообщения
75
Реакции
31
Баллы
18
Приветствую, подскажите в чем может быть проблема. Захожу на сайт гугл-карты, ввожу запрос (например "автосалон") и включаю мониторинг трафика
instance.UseTrafficMonitoring = true;
, далее эмулирую {ENTER}. Затем выдерживаю паузу 5 сек и пробую собрать полученный трафик таким кодом:

C#:
Развернуть Свернуть Копировать
var traffic = instance.ActiveTab.GetTraffic();
foreach (var t in traffic) {
    if (t.Url.Contains("https://www.google.com/search")) {
        return System.Text.Encoding.UTF8.GetString(t.ResponseBody);
    }
}
return "Ничего не нашли";


И у меня ответ "Ничего не нашли"

Важный момент, после нажатия {ENTER} URL вкладки не меняется.
Нужный мне URL запроса, содержащий https://www.google.com/search
в мониторе трафика отображается.


Если например поменять маску запроса на просто google.com, то данные берет, но мне такое не подходит, мне нужен конкретный запрос.
 
Приветствую, подскажите в чем может быть проблема. Захожу на сайт гугл-карты, ввожу запрос (например "автосалон") и включаю мониторинг трафика
instance.UseTrafficMonitoring = true;
, далее эмулирую {ENTER}. Затем выдерживаю паузу 5 сек и пробую собрать полученный трафик таким кодом:

C#:
Развернуть Свернуть Копировать
var traffic = instance.ActiveTab.GetTraffic();
foreach (var t in traffic) {
    if (t.Url.Contains("https://www.google.com/search")) {
        return System.Text.Encoding.UTF8.GetString(t.ResponseBody);
    }
}
return "Ничего не нашли";


И у меня ответ "Ничего не нашли"

Важный момент, после нажатия {ENTER} URL вкладки не меняется.
Нужный мне URL запроса, содержащий https://www.google.com/search
в мониторе трафика отображается.


Если например поменять маску запроса на просто google.com, то данные берет, но мне такое не подходит, мне нужен конкретный запрос.
Вы делаете все правильно, просто не выполняется условие Contains().
В цикле foreach выведите переменную t.Url в лог и посмотрите какие именно урлы он получает и скорей всего это поможет вам решить вашу проблему.
 
  • Спасибо
Реакции: dr.reklam
Вы делаете все правильно, просто не выполняется условие Contains().
В цикле foreach выведите переменную t.Url в лог и посмотрите какие именно урлы он получает и скорей всего это поможет вам решить вашу проблему.
Эту помогло сузить поиск причин, теперь я вижу как в лог перебором записываются все URL запросов, но по какой-то причине, там отображается только первая половина запросов, тогда как в мониторе трафика отображается и вторая половина где как раз и находится нужный мне URL запрос.
Пробовал увеличить паузу перед сбором до 60 сек, но это не помогает.
 
Эту помогло сузить поиск причин, теперь я вижу как в лог перебором записываются все URL запросов, но по какой-то причине, там отображается только первая половина запросов, тогда как в мониторе трафика отображается и вторая половина где как раз и находится нужный мне URL запрос.
Пробовал увеличить паузу перед сбором до 60 сек, но это не помогает.
Если отображается только первая часть, возможно нужно еще раз вызвать GetTraffic();
И вывод урлов в лог нужен только для текущего дебага, чтобы разобраться где спрятался наш нужный урл :-) , потом можно убрать, на работу кода он не влияет.
 
Если отображается только первая часть, возможно нужно еще раз вызвать GetTraffic();
И вывод урлов в лог нужен только для текущего дебага, чтобы разобраться где спрятался наш нужный урл :-) , потом можно убрать, на работу кода он не влияет.
Повторный вызов сходу ничего не записывает, только после 30 сек паузы записывает, но там не то что нужно, это какие-то автоматические URL.
В мониторе трафика вторая половина запросов ведь появляется сразу.
По логу понял, потом удалю если смогу решить задачу.
 
кто может помочь, поддержка игнорит уже четвертый день.
Попробуйте еще такую настройку, вдруг поможет
110509
 

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