Невозможно программно установить реферер в 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. Что я делаю неправильно?

0 ответов

Другие вопросы по тегам