【问题标题】:How can I modify all request url from CWebBrowser control?如何修改来自 CWebBrowser 控件的所有请求 url?
【发布时间】:2015-03-06 10:14:52
【问题描述】:

我要开发一个网络浏览器来控制请求。我正在使用 CWebBrowser2(MFC) 并且该类非常简单且有用。现在我必须控制来自网络浏览器的整个请求。例如,用户请求 url“http://www.aaa.com”,我想将该 url 更改为“http://127.0.0.1/url.html?url=http://www.aaa.com”。它必须应用整个请求,甚至是静态内容(图像等)。有可能吗?它看起来像网络代理。但我无法修改提供 MS 的 CWebBrowser2 类。有什么想法吗?

【问题讨论】:

    标签: browser proxy mfc


    【解决方案1】:

    您需要在浏览器控件处理请求之前设置一个处理程序来捕获请求:

    void OnBeforeNavigate2(LPDISPATCH pDisp, VARIANT FAR* URL, VARIANT FAR* Flags, VARIANT FAR* TargetFrameName, VARIANT FAR* PostData, VARIANT FAR* Headers, BOOL FAR* Cancel);
    
    ON_EVENT(CWebBrowser2, IDC_BROWSER, 250 /* BeforeNavigate2 */, _OnBeforeNavigate2, VTS_DISPATCH **VTS_PVARIANT** VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PBOOL)
    

    查看 void CDHtmlDialog::_OnBeforeNavigate2 的来源以获得更多指导。

    【讨论】:

      猜你喜欢
      • 2012-12-29
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      相关资源
      最近更新 更多