Невозможно программно установить реферер в CefSharp
Я пытаюсь принудительно использовать конкретный заголовок реферера при загрузке URL-адреса в CefSharp OffScreen. Я следовал за примерами и предложениями, которые указывают на то, чтобы сделать это внутри IRequestHandler.OnBeforeResourceLoad
, Ничего не происходит, заголовок реферера не отправляется в запросе.
Вот фрагмент из моих тестов:
public class CefWorker: IRequestHandler
{
ChromiumWebBrowser Browser;
string InitialUrl;
// ... constructor and other methods here ...
public void Run()
{
InitialUrl = "https://www.msoft.it/about/chi-siamo/";
CefSettings Settings = new CefSettings()
{
WindowlessRenderingEnabled = true,
LogSeverity = LogSeverity.Disable
};
Settings.SetOffScreenRenderingBestPerformanceArgs();
Cef.Initialize(Settings, performDependencyCheck: Program.Settings.CheckCefDependencies, browserProcessHandler: null);
Browser = new ChromiumWebBrowser()
{
RequestHandler = this
};
Browser.BrowserInitialized += (o, e) => { Browser.Load(InitialURL); };
}
public CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
{
if (request.Url == InitialUrl) {
request.SetReferrer("https://www.msoft.it/", ReferrerPolicy.Always);
// tried also this but it won't work
// request.Headers["Referer"] = "https://www.msoft.it/";
// this header is present in the request
request.Headers["X-MyCustomHeader"] = "My-Custom-Value";
}
return CefReturnValue.Continue;
}
}
Когда я сбрасываю заголовки на стороне сервера, я могу найти
X-MyCustomHeader: My-Custom-Value
но нет никаких следов Referer:
Я тестирую это с помощью CefSharp 63.0.0-pre02. Что я делаю неправильно?