В мониторе трафика у запроса имеется ответ в виде json, а при t.ResponseBody ничего

deopl

Client
Регистрация
06.12.2011
Сообщения
667
Благодарностей
126
Баллы
43
Очищаю монитор трафика
Выполняю код
C#:
instance.UseTrafficMonitoring = true;
Обновляю страницу
в мониторе трафика руками смотрю нужный запрос и его ответ. Он получен.
Жду 5 минут, чтобы все загрузилось

Запускаю свой код

C#:
var traffic = instance.ActiveTab.GetTraffic();

foreach(var t in traffic)
{

    if (t.Url == "ссылка запроса")
    {
        project.SendWarningToLog(t.Ur, true);

        return System.Text.Encoding.UTF8.GetString(t.ResponseBody);
    }
}
Находит в трафике нужный мне запрос, выводит в лог что условие сработало, но тело ответа не получает. Выкидывает по ошибке
Массив не может быть неопределенным.Имя параметра: bytes
т.е. оно null

Но ответ есть, его в мониторе трафика вижу. Почему не получает ResponseBody которое имеется?

Данная проблема как в проджекте так и зеннопостере
7.5.1.0
 
Последнее редактирование:

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 628
Благодарностей
1 225
Баллы
113
Возможно, ошибка в коде для поиска правильного запроса (про то, что включил монитор до захода на страницу не говорю, думаю, и так сделано).
 
  • Спасибо
Реакции: deopl

usboff

Client
Регистрация
25.08.2021
Сообщения
89
Благодарностей
49
Баллы
18
До запроса мониторинг трафика не забыли активировать?
C#:
instance.UseTrafficMonitoring = true;
 
  • Спасибо
Реакции: deopl

deopl

Client
Регистрация
06.12.2011
Сообщения
667
Благодарностей
126
Баллы
43
Да, сделано естественно
 

deopl

Client
Регистрация
06.12.2011
Сообщения
667
Благодарностей
126
Баллы
43

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
213
Благодарностей
59
Баллы
28
Может все таки приведешь код которым пытаешься получить данные ?
Или гадать дальше ?
 
  • Спасибо
Реакции: Moonwalker

deopl

Client
Регистрация
06.12.2011
Сообщения
667
Благодарностей
126
Баллы
43
Да причем тут код?
C#:
var traffic = instance.ActiveTab.GetTraffic();

foreach(var t in traffic)
{
    if (t.Url == "ссылка")
    {
        return System.Text.Encoding.UTF8.GetString(t.ResponseBody);
    }
}
Код верный и по другим задачам в других местах все находит,что указано по другим условиям. Но в данном случае null
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
213
Благодарностей
59
Баллы
28
Да причем тут код?
Серьезно ? :-)
Ну вот первый вопрос по рабочему коду... А где ожидание прогруза запроса ?
Не бывает же мгновенного выполнения запроса.. Бывают 100%-е задержки сети.. Как этот код учитывает этот момент ?
 

deopl

Client
Регистрация
06.12.2011
Сообщения
667
Благодарностей
126
Баллы
43
Использую монитор трафика проджекта и в нужном запросе имеется json ответ.
Да я уже писал, что я руками сначала проверяю в мониторе трафика. Уже все давно загружено, да даже 5 минут жди, все равно null
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
733
Благодарностей
483
Баллы
63
Возможно есть несколько запросов, которые удовлетворяют условию if (t.Url == "ссылка").
Первый запрос имеет null, а второй запрос нужную инфу, но так как сразу идет return, то до нужного запроса не доходим.
Я бы сделал точку остановы и посмотрел коллекцию traffic, есть ли там нужные данные.
 
  • Спасибо
Реакции: deopl

deopl

Client
Регистрация
06.12.2011
Сообщения
667
Благодарностей
126
Баллы
43
Убрал из кода
C#:
 return System.Text.Encoding.UTF8.GetString(t.ResponseBody);
оставил только
C#:
project.SendWarningToLog(t.Ur, true);
выводит один раз

При поиске в мониторе трафика, тоже 1 запрос находит
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
733
Благодарностей
483
Баллы
63
Тогда делаем точку остановы var traffic = instance.ActiveTab.GetTraffic(); и смотрим что там в traffic есть.
 
  • Спасибо
Реакции: deopl

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
213
Благодарностей
59
Баллы
28
Тогда придется раскрыть карты... И привести пример , где такое происходит и какое условие поиска.
 

deopl

Client
Регистрация
06.12.2011
Сообщения
667
Благодарностей
126
Баллы
43

Вложения

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
733
Благодарностей
483
Баллы
63
В мониторе трафика запрос есть, ответ есть. При выполнении кода null
Можно еще попробовать вот эту настройку
127632

Но могут возникнуть проблемы в других местах при работе с трафиком!

Так же можно поиграться с браузерами, CEF или Chromium, они работают по разному.
 
  • Спасибо
Реакции: deopl

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 397
Благодарностей
9 113
Баллы
113
Можно еще попробовать вот эту настройку
Посмотреть вложение 127632

Но могут возникнуть проблемы в других местах при работе с трафиком!

Так же можно поиграться с браузерами, CEF или Chromium, они работают по разному.
Добавлю, что можно в настройках проекта включить Альтернативные запросы.
 
  • Спасибо
Реакции: deopl

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