c++ - setRawHeader 不遵循 WebView 中的元素

标签 c++ qt webkit

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

示例:如果 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 与网页的所有元素一起使用?

谢谢。

最佳答案

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

关于c++ - setRawHeader 不遵循 WebView 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2095365/

相关文章:

c++ - 使用 mpz_nextprime 迭代素数

qt - 使用多个键实现类似 QHash 的查找

javascript - jquery.inputmask - 在 "oncomplete"回调中设置值使操作不正确

html - 为什么 background-image 不像 background-color 那样扩展到 webkit 中的过度滚动?

html - 为什么悬停不能处理移动的物体?

c++ - 在代码中使用 STLport 库的主要原因是什么?

c++ - 谁能建议我一种在 C++ 中分割名称的简单方法

c++ - gdb如何在dlopen打开的动态库中设置断点

C++:在运行时添加一个dll目录

qt - 在 DoubleSpinBox 或 ComboBox 等 Qt 小部件上,我如何拥有自定义右键单击菜单