Page 1 of 3
Unable to set referer
Posted: Thu Aug 20, 2020 9:36 pm
by andreykrasnodar
Code: Select all
procedure TForm1.Chromium2BeforeResourceLoad(Sender: TObject;
const browser: ICefBrowser; const frame: ICefFrame;
const request: ICefRequest; const callback: ICefRequestCallback;
out Result: TCefReturnValue);
var
map: ICefStringMultimap;
begin
map := TCefStringMultimapOwn.Create;
request.GetHeaderMap(map);
map.Append('referer', 'https://google.com');
map.Append('Accept-Language', 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7');
request.SetHeaderMap(map);
end;
Does not send referer but sends Accept_language (and even User-Agent).
But if I type
Code: Select all
for i:=1 to map.Size do
begin
ShowMessage(map.Key[i]+':'+map.Value[i])
end;
I see the last string is
referer:https://google.com
So,
does not send referer. What's the matter?
Re: Unable to set referer
Posted: Fri Aug 21, 2020 7:07 am
by andreykrasnodar
I can send referer with
Code: Select all
Header.append('referer', 'https://google.com');
and it works on POST requests. But if you set request method with
Header 'referer' does not appear.
Re: Unable to set referer
Posted: Fri Aug 21, 2020 7:07 pm
by andreykrasnodar
Any ideas?
I think, the problem is in flags or CEF settings. As I remember, some browsers do not send referer.
Re: Unable to set referer
Posted: Fri Aug 21, 2020 8:32 pm
by andreykrasnodar
I found SendReferrer option in new CEF. But there is no in old CEF.
SendReferrer : Set to True if you want to send the 'referer' header.
Yes, I want, help me please
Re: Unable to set referer
Posted: Fri Aug 21, 2020 9:05 pm
by Student
попробуй так
request.SetReferrer(refererurl, REFERRER_POLICY_DEFAULT);
Re: Unable to set referer
Posted: Sat Aug 22, 2020 8:27 am
by andreykrasnodar
Student wrote: Fri Aug 21, 2020 9:05 pm
попробуй так
request.SetReferrer(refererurl, REFERRER_POLICY_DEFAULT);
Undeclared identifier: 'setreferrer'.
Re: Unable to set referer
Posted: Sat Aug 22, 2020 9:14 am
by Student
А по какой причине ты сидишь на таком старье? Есть же компонент OldCEF4Delphi для поддержки winXP и там есть все эти методы которые нужны тебе.
Re: Unable to set referer
Posted: Sat Aug 22, 2020 10:58 am
by andreykrasnodar
Скачал эту версию, написал на ней программу, теперь вылавливаю ошибки. Перейти на более новый OLDCEF4Delphi - значит много переписать кода.
Re: Unable to set referer
Posted: Sat Aug 22, 2020 11:19 am
by Student
Ну смотри сам, а так упрешься все равно в стену, что чего то не будет хватать, то что в старом libcef многое не работает так как надо. А переписать, в чем там сложность? Названия методов другие? Так создай свой класс с нужным названием и через него обращайся к хромиуму.
Re: Unable to set referer
Posted: Sat Aug 22, 2020 12:03 pm
by andreykrasnodar
I hope there is only one setting which allow my program to send referer. If not, I have to re-write it with new CEF.
P.S. What's the last version of CEF which will work on Windows XP?