Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Download mit https in Delphi 5 (https://www.delphipraxis.net/203456-download-mit-https-delphi-5-a.html)

sakura 19. Feb 2020 07:00

AW: Download mit https in Delphi 5
 
Zitat:

Zitat von Redeemer (Beitrag 1457861)
Gab's das damals noch nicht? Ich dachte, das gab's schon ewig...

Ewig schon, aber nicht sooo ewig. Seit Delphi 2009, wenn ich mich recht erinnere.

...:cat:...

sakura 19. Feb 2020 07:02

AW: Download mit https in Delphi 5
 
TDownloadURL nutzt intern übrigens auch URLDownloadToFileA/URLDownloadToFileW ;-)

...:cat:...

jus 19. Feb 2020 09:04

AW: Download mit https in Delphi 5
 
Du könntest auch die Synapse Komponente ausprobieren, laut deren Homepage sollte es mit Delphi 5 gehen. Ich empfehle die neueste Version aus dem Sourceforge Repository runterzuladen. Bei Synapse muß man für SSL zunächst wie auch bei Indy die 2 SSL DLLs runterladen und ins selbe Verzeichnis wie die *.exe Datei kopieren.
Weiters mus man folgende 2 Units im Quellcode einbinden:

Delphi-Quellcode:
implementation

{$R *.dfm}

uses
  ssl_openssl, ssl_openssl_lib;
jus

himitsu 19. Feb 2020 11:40

AW: Download mit https in Delphi 5
 
Oder eine DLL mit was Neuerem kompilieren und dann deine eigene Downloadfunktion importieren. :stupid:

Bernhard Geyer 19. Feb 2020 14:23

AW: Download mit https in Delphi 5
 
Zitat:

Zitat von jik (Beitrag 1457843)
aber ich liebe mein Delphi 5 sehr (übersichtlich, knackig, schnell, gut, danach gings m.E. nicht gerade bergauf).

D5. Ein Glück das ich keine solche alten Delphi-Versionen mehr nutzen muss.
Was ich mittlerweile Codierungszeit mit aktellen Delphi-Versionen spare ...

Das es "nicht gerade bergauf" ging kann man wohl nur behaupten wenn man keine aktuellen Delphi-Versionen nutzt.

Redeemer 19. Feb 2020 16:28

AW: Download mit https in Delphi 5
 
Zitat:

Zitat von sakura (Beitrag 1457863)
Zitat:

Zitat von Redeemer (Beitrag 1457861)
Gab's das damals noch nicht? Ich dachte, das gab's schon ewig...

Ewig schon, aber nicht sooo ewig. Seit Delphi 2009, wenn ich mich recht erinnere.

Nö, mindestens Delphi 7 Pro.

ing 20. Feb 2020 06:30

AW: Download mit https in Delphi 5
 
Hallo,
mit den Indy-Komponenten sollte das problemlos funktionieren:

Code:
unit HTTPS;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}


uses IdHTTP,IdSSLOPENSSL,IdGlobal;

var Http: TidHTTP;
     HTTPError:string;
     SSLHandler:TIdSSLIOHandlerSocketOpenSSL;

procedure HTTPInit(UseSSL:Boolean;Timeout:Integer=2000);
begin
  HTTPError:='';
  if Http=nil then
    Http := TidHTTP.Create(Nil);

  if UseSSL then
  begin
    if SSLHandler=nil then
    begin
      SSLHandler:=TIdSSLIOHandlerSocketOpenSSL.Create;
      SSLHandler.MaxLineAction := maException;
      SSLHandler.SSLOptions.SSLVersions:=[sslvSSLv2, sslvSSLv23, sslvSSLv3, sslvTLSv1,sslvTLSv1_1,sslvTLSv1_2];
      SSLHandler.SSLOptions.Mode := sslmUnassigned;
      SSLHandler.SSLOptions.VerifyMode := [];
      SSLHandler.SSLOptions.VerifyDepth := 0;

    end;

    Http.IOHandler:= SSLHandler;
  end
  else
  begin
    Http.IOHandler:= NIL;
  end;

  Http.ReadTimeout:=Timeout;
end;

procedure HTTPClose;
begin
  if Http<>nil then
  begin
    Http.Free;
    HTTP:=nil;
  end;

  if SSLHandler<>nil then
  begin
    SSLHandler.Free;
    SSLHandler:=nil;
  end;
end;

function LoadURL(const url:string; Timeout:Integer=2000):string;
var UseSSL:Boolean;
begin
  HTTPError:='';
  if Http=nil then
    Http := TidHTTP.Create(Nil);

  UseSSL:=Uppercase(Copy(url,1,5))='HTTPS';

  HTTPInit(UseSSL, Timeout);

  Try
    result := Http.Get(url);
  except
    on e:Exception do
    begin
      Result:='';
      HTTPError:=e.Message;
    end;
  end;

  HTTPClose;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Text := LoadURL('https://www.delphipraxis.net');
end;

end.

jaenicke 21. Feb 2020 18:04

AW: Download mit https in Delphi 5
 
Zitat:

Zitat von ing (Beitrag 1457966)
mit den Indy-Komponenten sollte das problemlos funktionieren:

Aber nicht mit Indy 9 für Delphi 5. Da gibt es z.B. noch kein sslvTLSv1_2 und auch die OpenSSL Version, für die Indy 9 ist, kennt das noch nicht. Und Indy 10 gibt es nicht für Delphi 5, da wird man also vermutlich Hand anlegen müssen, damit es funktioniert.

mjustin 23. Feb 2020 09:21

AW: Download mit https in Delphi 5
 
Zitat:

Zitat von jaenicke (Beitrag 1458082)
Zitat:

Zitat von ing (Beitrag 1457966)
mit den Indy-Komponenten sollte das problemlos funktionieren:

Aber nicht mit Indy 9 für Delphi 5. Da gibt es z.B. noch kein sslvTLSv1_2 und auch die OpenSSL Version, für die Indy 9 ist, kennt das noch nicht. Und Indy 10 gibt es nicht für Delphi 5, da wird man also vermutlich Hand anlegen müssen, damit es funktioniert.

Delphi 5 wird anscheinend noch unterstützt (mit Delphi 6 funktioniert Indy 10 aktuell auch noch in meinen Projekten), zumindest gibt es das Fulld_5.bat Batchfile zum Bauen der Packages noch in Indy 10. Das ist vielleicht ein (kleiner) Hoffnungsschimmer :)

Codehunter 24. Feb 2020 06:57

AW: Download mit https in Delphi 5
 
@jik: Irgendwann stellt sich doch die Frage nach Aufwand und Nutzen. TLS 1.2 und D5 wird Arbeit machen, Umstieg auf ein aktuelles Delphi ebenso. Ich habe auch lange gewartet und bin erst von D7 auf XE4 umgestiegen weil ich genauso dachte wie du. Ganz ehrlich, aus heutiger Sicht ein großer Fehler. Du schreibst nichts darüber ob du privat oder kommerziell programmierst. Aber zumindest für Evaluierungszwecke solltest du dir die aktuelle Community-Edition mal anschauen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.
Seite 2 von 2     12   

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