AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Datei runterladen und dabei IE-Cockies verwenden
Thema durchsuchen
Ansicht
Themen-Optionen

Datei runterladen und dabei IE-Cockies verwenden

Ein Thema von himitsu · begonnen am 18. Jul 2007 · letzter Beitrag vom 14. Feb 2022
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#3

Re: Datei runterladen und dabei IE-Cockies verwenden

  Alt 18. Jul 2007, 14:46
na ja, es muß ja irgendwie möglichsein die Cockies direkt vom IE zu erfragen ... die temprären Dateien kann man ja auch erfragen und ändern.

und es muß nicht unbedingt sein, daß die Seite grade im IE geladen wird/wurde.
unter umständen kann es auch sein, daß für die Seite ein autologin eingerichtet wurde, was aber nicht immer de Fall ist.

da TWebbrowser ja den IE kapselt und somit automatisch dessen Cockies verwendet, läuft dieses erstmal von der gewünschten Funktion her nicht schlecht, aber eben nicht optimal.
Delphi-Quellcode:
  Function TForm1.DownloadFile(Const URL: String): String;
    Var D: TDateTime;

    Label NeuStart;

    Begin
      Try
        NeuStart:
        //WebBrowser1.Stop;
        D := Now;
        WebBrowser1.Tag := 0;
        WebBrowser1.Navigate(URL);
        While WebBrowser1.Tag = 0 do Begin
          If Application.Terminated Then Begin
            Result := '';
            Exit;
          End;
          If Now - D > 1/24/60/60*30 Then Begin
            WebBrowser1.Navigate('');
            Application.ProcessMessages;
            Sleep(100);
            Goto NeuStart;
          End;
          Application.ProcessMessages;
          Sleep(25);
        End;
        Result := (WebBrowser1.Document as IHTMLDocument2).body.outerHTML;
        //WebBrowser1.Navigate('');
      Except
        Result := '';
        Application.MessageBox(PChar(Exception(ExceptObject).Message),
          PChar(Caption + ' - Programmfehler'), MB_OK);
        Application.Terminate;
      End;
    End;

  Procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; Const pDisp: IDispatch;
    Var URL: OleVariant);

    Begin
      If TWebBrowser(Sender).Tag = 0 Then TWebBrowser(Sender).Tag := 1;
    End;
mir wäre es da lieber, wenn es schneller ginge und nicht die Datei erst angezeigt werden müßte.
es sieht blöd aus, wenn die Anzeige 'ne weile verschwindet, dafür dann die runterzuladene Datei angezeigt wird und dann muß die alte Anzeige wieder neu zusammengestellt werden.
außerdem ist es möglich, wärend die Datei geladen wird (da die auch nicht immer klein ist und das Internet hier am testrechner nicht grade schnell), daß man als User da in den Download eingreifen kann ... mit IE-Popup und auch über die Tastatur kann TWebbrowser ja auch gesteuert werden.
ESC=Download abbrechen
Backspace=Seite zurück (vorherige Seite laden)
usw.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz