• CefSharp 修改请求头Referer


    添加ChromiumWebBrowser的RequestHandler处理类:

    ResourceRequestHandler: 请求前处理类

    class CustomResourceRequestHandler : CefSharp.Handler.ResourceRequestHandler
    {
            protected override CefReturnValue OnBeforeResourceLoad(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
            {
                //设置Referrer
                request.SetReferrer("http://xxx.xx/", ReferrerPolicy.Default);
                //可以根据不同Url请求,设置不同referer request.Url.StartsWith()
                if(request.Url.StartsWith("http://xxx.xx/")){
                    request.SetReferrer("http://xxx.xx/", ReferrerPolicy.Default);
                }
            }
    }

    官方已指明不能在request.Headers里边直接处理:

    RequestHandler: 请求处理类

        class CustomRequestHandler : CefSharp.Handler.RequestHandler
        {
            protected override IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
            {
                return new CustomResourceRequestHandler();
            }
        }

    添加RequestHandler处理:

    chromiumWebBrowser1.RequestHandler = new CustomRequestHandler();
  • 相关阅读:
    类加载机制与反射(一)
    Java注解
    Tomcat部署多个项目及相关配置
    Tomcat安装阿里云免费证书
    Java泛型
    Java解析和生成XML
    枚举类
    类成员
    成员变量的初始化和内存中的运行机制
    数据仓库与数据挖掘(一)
  • 原文地址:https://www.cnblogs.com/GengMingYan/p/14335876.html
Copyright © 2020-2023  润新知