拦截请求需要实现两个接口
- IRequestHandler 对请求进行自定义处理
- IResponseFilter 对response进行处理
cef官方文档
实现了IRequestHandler 以后需要给浏览器绑定
例:
broswer.RequestHandler = new CEFRequestHandler();
tips:
- 在request中的GetResourceResponseFilter方法进行检测
public IResponseFilter GetResourceResponseFilter(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response)
{
var url = new Uri(request.Url);
if (url.AbsoluteUri.Contains("http://www.baidu.com"))
{
//自定义的IResponseFilter,这里是按照官方文档的示例
var filter = CEFFilterManger.CreateFilter(request.Identifier.ToString());
return filter;
}
return null;
}