setRawHeader不遵循Web视图中的元素

时间:2010-01-19 17:12:10

标签: c++ qt webkit

我想在设置主机名之前测试已配置的vhost的呈现。

例如:如果dns条目“otherNameOfMySite”不存在(但设置了apache vhost),则查看位于mysite.com的网页“otherNameOfMySite”。

我的代码:

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

标题仅针对主页面设置,如果html页面中有另一个元素(如图像),则此图像的下载将不使用我配置的标题。在我的情况下,我无法查看可能的vhost渲染。

如何告诉webview将此标题与网页的所有元素一起使用?

感谢。

1 个答案:

答案 0 :(得分:0)

  1. 您应该重新实现QNetworkAccessManager类,尤其是createRequest函数,您可以在其中为所有请求手动设置任何标头。
  2. 创建此重新实现的类的实例并在webvhost->page()->setNetworkAccessManager(your_reimplemented_class)中设置它。 所以,你会得到你想要的东西。