setRawHeader не следует за элементами в веб-представлении - PullRequest
1 голос
/ 19 января 2010

Я хочу проверить рендеринг сконфигурированного vhost до того, как будет задано имя хоста.

Пример: просмотр веб-страницы "otherNameOfMySite", расположенной по адресу mysite.com, если запись DNS "otherNameOfMySite" не существует (но установлен Apache vhost).

Мой код:

webvhost = new QWebView();
QNetworkRequest * request = new QNetworkRequest(QUrl("http://mysite.com"));
request->setRawHeader("Host","otherNameOfMySite");
webvhost->load(*request);

Заголовок устанавливается только для главной страницы. Если на html-странице есть другой элемент, например изображение, при загрузке этого изображения не будет настроен указанный мной заголовок. В моем случае я не могу просмотреть рендер возможного vhost.

Как я могу сказать webview, чтобы использовать этот заголовок со всеми элементами веб-страницы?

Спасибо.

1 Ответ

0 голосов
/ 17 февраля 2011
  1. Вы должны переопределить класс QNetworkAccessManager, в частности, функцию createRequest, где вы можете вручную установить любой заголовок для всех запросов.
  2. Создайте экземпляр этого переопределенного класса и установите его в webvhost->page()->setNetworkAccessManager(your_reimplemented_class). Итак, вы получите то, что хотите.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...