CEF4 doesn't send the Referer header
Posted: Thu Dec 02, 2021 8:29 am
Hi all,
I have a problem with the Referer header when I send a request. No matter what I do, the header is not set. Has anyone managed to set the Referer header for the request manually?
Here's what I've tried:
What's wrong?
I have a problem with the Referer header when I send a request. No matter what I do, the header is not set. Has anyone managed to set the Referer header for the request manually?
Here's what I've tried:
Code: Select all
procedure TMainForm.FormShow(Sender: TObject);
begin
Chromium1.SendReferrer := true;
if not (Chromium1.CreateBrowser(CEFWindowParent1, '')) then
TimerChromium1.Enabled := True;
end;
procedure TMainForm.Chromium1BeforeResourceLoad(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback; out Result: TCefReturnValue);
begin
request.SetHeaderByName('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8', true);
request.SetHeaderByName('Accept-Encoding', 'gzip, deflate, br', true);
request.SetHeaderByName('Accept-Language', 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7', true);
request.SetHeaderByName('User-Agent', CURRENT_USER_AGENT, true);
request.SetHeaderByName('Connection', 'keep-alive', true);
request.SetHeaderByName('Referer', CURRENT_REFERER, true); // <--- Doesn't work
request.SetReferrer(CURRENT_REFERER, REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE); // <--- Doesn't work
end;