Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Network
  • » не могу прикрутить QNetworkAccessManager к QWebEnginePage [RSS Feed]

#1 Май 11, 2020 18:58:52

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

не могу прикрутить QNetworkAccessManager к QWebEnginePage

До какой-то версии Qt у класса QWebEnginePage был метод setNetworkAccessManager, который позволял сделать задуманное, в более поздних версиях его зачем-то убрали, как теперь это делать - непонятно.

Если никак без отката на борее старую версию PySide2, то какие еще могут быть пути для мониторинга и изменения данных в сетевом стеке QWebEngine, задача стоит мониторить все что туда поступает от и до (вебсокеты, js-запросы, POST, GET, итд), и при необходимости модифицировать данные перед отправкой в инет.

P.S.: QWebEngineUrlRequestInterceptor не подходит ибо он дает модифицировать только хидеры, а получаемая от него информация крайне скудна.



Офлайн

#2 Май 13, 2020 17:09:43

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

не могу прикрутить QNetworkAccessManager к QWebEnginePage

Попробуем поменять задачу, быть может кто знает как мониторить и изменять сетевой стек всего приложения ? Мне тут подумалось просто из каждого QWebEngineView через interceptor добавлять уникальный http хидер, а в общем сетевом стеке приложения по ним разбирать откуда прилетело, удалять хидер, править что нужно, и слать в инет.



Офлайн

#3 Май 16, 2020 14:44:54

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

не могу прикрутить QNetworkAccessManager к QWebEnginePage

Короче если кто еще будет совокупляться с этой проблемой - не тратьте свое время, нихрена не выйдет. Единственный костыль который помогает - это совместное использование QWebEngineUrlRequestInterceptor для мониторинга простых запросов совместно с JS-инжектами для остальных задач. Пробовал запускать софт с параметром –remote-debugging-port=<port_number> и тогда на локалхосте по указанному порту появлялся стандартный браузерный отладчик, но это хреновый путь ибо никаких модификаций на лету не замутить, да и дополнительный инстанс QWebEngineView для отладчика оперативу поджирает. А еще насинается срач в консоль, что при использовании pythonw.exe скорее всего приведет к багам (еще не испытал конкретно этот пример но все что туда срет должно вызывать эти глюки)

хех вот-бы найти способ отлавливать в интерцепторе инстансы QWebEngineHttpRequest а не QUrl - была-бы ваще сказка.



Офлайн

  • Начало
  • » Network
  • » не могу прикрутить QNetworkAccessManager к QWebEnginePage[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version