如何从CWebBrowser控件修改所有请求url?

如何从CWebBrowser控件修改所有请求url?,browser,proxy,mfc,Browser,Proxy,Mfc,我将开发一个web浏览器来控制请求。我使用的是CWebBrowser2(MFC),这个类非常简单和有用。现在我必须控制来自web浏览器的整个请求。例如,用户请求url“”,我想将该url更改为“”。它必须应用整个请求,甚至静态内容(图像等)。有可能吗?它看起来像web代理。但是我不能修改CWebBrowser2类,如果是这样的话。有什么想法吗?在浏览器控件处理请求之前,您需要设置一个处理程序来捕获请求: void OnBeforeNavigate2(LPDISPATCH pDisp, VARIA

我将开发一个web浏览器来控制请求。我使用的是CWebBrowser2(MFC),这个类非常简单和有用。现在我必须控制来自web浏览器的整个请求。例如,用户请求url“”,我想将该url更改为“”。它必须应用整个请求,甚至静态内容(图像等)。有可能吗?它看起来像web代理。但是我不能修改CWebBrowser2类,如果是这样的话。有什么想法吗?

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

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::\u onbeforeavigate2
的源代码以获取更多指导