cefsharp 拦截所有请求

拦截请求需要实现两个接口

  1. IRequestHandler 对请求进行自定义处理
  2. IResponseFilter 对response进行处理
    cef官方文档

实现了IRequestHandler 以后需要给浏览器绑定
例:

broswer.RequestHandler = new CEFRequestHandler();

tips:

  1. 在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;
}

猜你喜欢

转载自www.cnblogs.com/ives/p/12768533.html