Disclosure Statement: This site contains affiliate links, which means that I may receive a commission if you make a purchase using these links. As an eBay Partner, I earn from qualifying purchases.
If you find these projects useful please consider becoming a sponsor with Patreon, GitHub or Liberapay.

I would like to change the referer. help.

Post Reply
sodlf159
Posts: 90
Joined: Thu Nov 09, 2023 1:55 pm

I would like to change the referer. help.

Post by sodlf159 »

Chromium1.LoadRequest(TempRequest) > When making a POST request

Redirects are connected automatically.

About 3 redirection URLs will appear. Select the specific URL you want.

You will see about 3 redirect URLs. Use the specific URL you want as Chromium1BeforeResourceLoad
if (Pos('https://www.briskbard.com/forum/', Request.Url) > 0) then

I would like to change the referer.

procedure TForm1.Chromium1BeforeResourceLoad(Sender: TObject;
const Browser: ICefBrowser; const Frame: ICefFrame; const Request: ICefRequest;
const Callback: ICefRequestCallback; out Result: TCefReturnValue);
var
TempOldMap, TempNewMap: ICefStringMultimap;
i: NativeUInt;
key, value: ustring;
begin
if (Pos('https://www.briskbard.com/forum/', Request.Url) > 0) then //This is an example.
begin

try
TempNewMap := TCefStringMultimapOwn.Create;
TempOldMap := TCefStringMultimapOwn.Create;

request.GetHeaderMap(TempOldMap);

i := 0;
while (i < TempOldMap.Size) do
begin
key := TempOldMap.Key;
value := TempOldMap.Value;
if key <> 'referer' then
begin
TempNewMap.Append(key, value);
end;
inc(i);
end;

TempNewMap.Append('referer', 'https://google.com');

request.SetHeaderMap(TempNewMap);
finally
TempNewMap := nil;
TempOldMap := nil;
end;
end;

This doesn't work.
You can try it yourself. Change is difficult.

I would like to change the specific URL referrer for the redirected part.
User avatar
salvadordf
Posts: 4620
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: I would like to change the referer. help.

Post by salvadordf »

Download CEF4Delphi from GitHub. I just added an example of HTTP header replacement in MiniBrowser :
https://github.com/salvadordf/CEF4Delphi/blob/bf11a7586e0035f9a36e5bf7cdfdc011a75193f5/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas#L1227
sodlf159
Posts: 90
Joined: Thu Nov 09, 2023 1:55 pm

Re: I would like to change the referer. help.

Post by sodlf159 »

Referer It doesn't change.
The rest changes well.

Please do the Referer test just once.
User avatar
salvadordf
Posts: 4620
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: I would like to change the referer. help.

Post by salvadordf »

Chromium seems to be blocking any change to that header.
sodlf159
Posts: 90
Joined: Thu Nov 09, 2023 1:55 pm

Re: I would like to change the referer. help.

Post by sodlf159 »

So are you saying that change is difficult?

Can the referer never be changed?
User avatar
salvadordf
Posts: 4620
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: I would like to change the referer. help.

Post by salvadordf »

If Chromium is blocking it then one solution would be to modify Chromium's source code and build CEF with those sources.

You could also try the Network.setExtraHTTPHeaders DevTools method but I've never used it :
https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-setExtraHTTPHeaders
Post Reply