我要开发一个Web浏览器来控制请求。我使用的是CWebBrowser2(MFC),该类非常简单实用。现在我必须从Web浏览器控制整个请求。例如,用户请求网址" http://www.aaa.com",我想将该网址更改为" http://127.0.0.1/url.html?url=http://www.aaa.com"。它必须应用整个请求,甚至是静态内容(图像等)。有可能吗?它似乎像Web代理。但我不能修改CWebBrowser2类提供的MS。有什么想法吗?
答案 0 :(得分:0)
在浏览器控件处理请求之前,您需要设置一个处理程序来捕获请求:
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
的来源以获得更多指导。