Russian Qt Forum
Ноябрь 23, 2024, 04:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перехват запросов  (Прочитано 2744 раз)
DenKor29
Гость
« : Ноябрь 18, 2014, 08:59 »

Есть код для перехвата сообщений сервера. Я могу безбоязнено читать реквесты и ответы в своем слоте ?
И WebView будет работать со своей копией данных.

Или мне нельзя читать данные QNetworkReply в logproxy ?
  
Код:
 QNetworkAccessManager* manager = view->page()->networkAccessManager();
 connect(manager, SIGNAL(finished(QNetworkReply*)), SLOT(logproxy(QNetworkReply*)));


void MainWindow::logproxy(QNetworkReply * reply)
{
 QString mess = reply->url().toString();

 message(mess);
 showMessage(mess,levelDebug);

}
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Ноябрь 18, 2014, 10:41 »

по идее можете читать, но в любом случае результат нужно будет удалять вручную, а кто его удаляет вы знаете? Просто может так случиться что до вызова вашего слота или в процессе его обработки результат запроса будет удален кем то из другого потока.
Записан
DenKor29
Гость
« Ответ #2 : Ноябрь 18, 2014, 13:11 »

Код:
    view = new QWebView(this);
    view->load(url);

Поток один. Нужно читать двумя слотами данные ответа. Как я понимаю у view есть свой обработчкик сигнала finished.

Соответсвенно если я вызову метод replay->readAll()  и получу данные в своем обработчике, то стандартный обработчик view сможет прочитать эти же данные или нет ?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Ноябрь 18, 2014, 15:19 »

А вы не делайте read, сделайте peek.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.