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