Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   TEdgeBrowser und Header (https://www.delphipraxis.net/208955-tedgebrowser-und-header.html)

ManRo 5. Okt 2021 07:22

TEdgeBrowser und Header
 
Hallo zusammen,

ich habe über die TWebBrowser-Komponente das Navigate genutzt und dort Headerinformationen mitgegeben.

Das Problem bei der Umstellung auf die "neue" TEdgeBrowser-Komponente bekomme ich keine Lösung dort auch Headerinformationen mitzugeben, diese brauche ich aber zwingend für Authentifizierungsdaten.
Hat ggf. jemand schon ein ähnliches Problem gehabt und eine Lösung/ einen Lösungsansatz.

Der schöne Günther 5. Okt 2021 09:49

AW: TEdgeBrowser und Header
 
Hallo-

Hast du das hier gesehen?

https://www.delphipraxis.net/1473724-post7.html

ManRo 5. Okt 2021 13:35

AW: TEdgeBrowser und Header
 
Ja allerdings hat die Prozedur
"procedure TFrmBrowser.EdgeBrowser1WebResourceRequested(Sende r: TCustomEdgeBrowser; Args: TWebResourceRequestedEventArgs);"
den Sender und die Args als Parameter, wie greife ich da auf den Request zu und ändere die Header, irgendwas übersehe ich da doch :? ?

Der schöne Günther 5. Okt 2021 15:19

AW: TEdgeBrowser und Header
 
Ja, es war doch fummeliger als gedacht.

Ich habe als Beispiel mal den
Delphi-Quellcode:
User-Agent
auf etwas anderes gesetzt:

Delphi-Quellcode:
implementation uses System.Win.ComObj;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  EdgeBrowser1.Navigate(Edit1.Text);
end;

procedure TForm1.EdgeBrowser1CreateWebViewCompleted(Sender: TCustomEdgeBrowser;
  AResult: HRESULT);
begin
  EdgeBrowser1.AddWebResourceRequestedFilter('*', COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL);
end;

procedure TForm1.EdgeBrowser1WebResourceRequested(Sender: TCustomEdgeBrowser; Args: TWebResourceRequestedEventArgs);
var
  request: ICoreWebView2WebResourceRequest;
  headers: ICoreWebView2HttpRequestHeaders;
begin
  OleCheck(Args.ArgsInterface.Get_Request(request));
  OleCheck(request.Get_Headers(headers));

  OleCheck( headers.SetHeader('User-Agent', 'Hello World') );
end;
Zumindest ein Test auf
https://manytools.org/http-html-text...quest-headers/
scheint zu bestätigen dass das klappt.

Je nachdem was du vorhast solltest du dir aber die Doku für AddWebResourceRequestedFilter(..) noch einmal genauer ansehen, sonst hast du da einen Filter drin, der auf alles geht.

ManRo 7. Okt 2021 12:36

AW: TEdgeBrowser und Header
 
Dankeschön, so funktioniert es bei mir ohne Probleme, ich kann jetzt im Header die "Authorization" setzen und es funktioniert wieder wie vorher mit der TWebBrowser-Komponente. 👍


:-D :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz