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

deopl

Client
Joined
Dec 6, 2011
Messages
674
Reaction score
128
Points
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
 
Last edited:

Moonwalker

Client
Joined
Mar 16, 2016
Messages
1,787
Reaction score
1,382
Points
113
Возможно, ошибка в коде для поиска правильного запроса (про то, что включил монитор до захода на страницу не говорю, думаю, и так сделано).
 
  • Thank you
Reactions: deopl

usboff

Client
Joined
Aug 25, 2021
Messages
106
Reaction score
73
Points
28
До запроса мониторинг трафика не забыли активировать?
C#:
instance.UseTrafficMonitoring = true;
 
  • Thank you
Reactions: deopl

deopl

Client
Joined
Dec 6, 2011
Messages
674
Reaction score
128
Points
43
Да, сделано естественно
 

deopl

Client
Joined
Dec 6, 2011
Messages
674
Reaction score
128
Points
43
ошибка в коде для поиска правильного запроса
Нет. Запрос находит, вывожу sendInfoLog при выполнении условия если url равен "ссылке запроса"
 

Alex91

Известная личность
Read only
Joined
Aug 15, 2024
Messages
880
Reaction score
251
Points
63
Может все таки приведешь код которым пытаешься получить данные ?
Или гадать дальше ?
 
  • Thank you
Reactions: Moonwalker

deopl

Client
Joined
Dec 6, 2011
Messages
674
Reaction score
128
Points
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

Известная личность
Read only
Joined
Aug 15, 2024
Messages
880
Reaction score
251
Points
63
Да причем тут код?
Серьезно ? :-)
Ну вот первый вопрос по рабочему коду... А где ожидание прогруза запроса ?
Не бывает же мгновенного выполнения запроса.. Бывают 100%-е задержки сети.. Как этот код учитывает этот момент ?
 

deopl

Client
Joined
Dec 6, 2011
Messages
674
Reaction score
128
Points
43
Использую монитор трафика проджекта и в нужном запросе имеется json ответ.
Да я уже писал, что я руками сначала проверяю в мониторе трафика. Уже все давно загружено, да даже 5 минут жди, все равно null
 

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
822
Reaction score
567
Points
93
Возможно есть несколько запросов, которые удовлетворяют условию if (t.Url == "ссылка").
Первый запрос имеет null, а второй запрос нужную инфу, но так как сразу идет return, то до нужного запроса не доходим.
Я бы сделал точку остановы и посмотрел коллекцию traffic, есть ли там нужные данные.
 
  • Thank you
Reactions: djaga and deopl

deopl

Client
Joined
Dec 6, 2011
Messages
674
Reaction score
128
Points
43
Убрал из кода
C#:
 return System.Text.Encoding.UTF8.GetString(t.ResponseBody);
оставил только
C#:
project.SendWarningToLog(t.Ur, true);
выводит один раз

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

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
822
Reaction score
567
Points
93
Тогда делаем точку остановы var traffic = instance.ActiveTab.GetTraffic(); и смотрим что там в traffic есть.
 
  • Thank you
Reactions: deopl

Alex91

Известная личность
Read only
Joined
Aug 15, 2024
Messages
880
Reaction score
251
Points
63
Тогда придется раскрыть карты... И привести пример , где такое происходит и какое условие поиска.
 

deopl

Client
Joined
Dec 6, 2011
Messages
674
Reaction score
128
Points
43
Тогда делаем точку остановы var traffic = instance.ActiveTab.GetTraffic(); и смотрим что там в traffic есть.
В мониторе трафика запрос есть, ответ есть. При выполнении кода null
 

Attachments

Dmitriy Ka

Client
Joined
May 3, 2016
Messages
822
Reaction score
567
Points
93
В мониторе трафика запрос есть, ответ есть. При выполнении кода null
Можно еще попробовать вот эту настройку
127632

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

Так же можно поиграться с браузерами, CEF или Chromium, они работают по разному.
 
  • Thank you
Reactions: djaga and deopl

Sergodjan

Administrator
Staff member
Joined
Sep 5, 2012
Messages
21,033
Reaction score
9,361
Points
113
Можно еще попробовать вот эту настройку
View attachment 127632

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

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

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)