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