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