Einzelnen Beitrag anzeigen

Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#1

Header auslesen/ ändern in TWebBrowser.OnBeforeNavigate2

  Alt 6. Mär 2013, 12:02
Guten Tag,

ich würde gern den HTTP-Header verändern oder wenigstens auslesen, wenn ich eine Seite im WebBrowser annavigiere.

Ich benutze das total übersichtliche Ereignis OnBeforeNavigate2:
Delphi-Quellcode:
procedure TFormDATBrowser20.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
// Variante 1
// Headers := OleVariant(String(Headers) + 'Connection: Close'+#13#10);
// ging nicht, d.h. im Sniffer hab ich gesehen, dass da 'Connection: keep-alive' stand

// Variante 2
// Headers := OleVariant('Foo: bar'+#13#10);
// ging nicht, d.h. im Sniffer war diese Variable nicht im Header
end;
Anhand der Kommentare ist das Problem erkenntlich: ich scheine den ausgehenden Header nicht ändern zu können (Sniffer = Netzwerkanalysetool).
Wenn ich den Header auslese und mit einem ShowMessage anzeige, so ist er oft komplett leer (was nicht sein kann), und manchmal steht das Encoding des Formulars drin.

Meine Frage: wie bekomme ich möglichst volle Kontrolle über den HTTP-Header beim TWebBrowser (exakt diese Browser-Komponente)?
Anmerkung: in der Hilfe steht zu Headers: "[..] In der Routine kann dieser Wert vor dem Senden an die Ziel-URL geändert werden."

Besten Dank und viele Grüße
Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat