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();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM