我想在设置主机名之前测试已配置虚拟主机的呈现。
示例:如果 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);
header只为主页设置,如果html页面中有其他元素如图片,下载此图片将不会使用我配置的header。就我而言,我无法查看可能的虚拟主机的呈现。
如何告诉 webview 将此 header 与网页的所有元素一起使用?
谢谢。
最佳答案
- 您应该重新实现
QNetworkAccessManager
类,特别是createRequest
函数,您可以在其中为所有请求手动设置任何 header 。 - 创建这个重新实现的类的实例并在
webvhost->page()->setNetworkAccessManager(your_reimplemented_class)
中设置它。 所以,你会得到你想要的。
关于c++ - setRawHeader 不遵循 WebView 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2095365/