![]() |
SSL for dummies
Vor langer Zeit half mir diese Gemeinschaft hier selbstlos, eine Datei herunterzuladen. Es war so schwierig.
Ich verstand kaum, was man mir sagte, doch es klappte endlich mit dieser Zeile: DL.IOHndl.SSLOptions.SSLVersions := [sslvTLSv1_2]; // erzwingt TSL-Protokoll 1.2 für SSL Mittlerweile klappt es nicht mehr. Und wenn ich den Server zum Thema ausquetsche: sie verwenden mittlerweile TSL 1.3 Wie lautet die Zeile dafür? DL.IOHndl.SSLOptions.SSLVersions := [sslvTLSv1_3]; ist es leider nicht! Danke für Hinweise. |
AW: SSH for dummies
Falls du Indy benutzt, kann es sein das die verwendete Indy-Version zu alt ist.
Bin mir nicht sicher, aber ich glaube TLS 1.3 wird erst seit Indy OpenSSL 1.1.1 IOHandler unterstützt... Grüße Steku Gefunden: ![]() |
AW: SSH for dummies
Stimmt die von dir angegebenen Delphi Version noch?
Wäre da evtl. Mal ein Update möglich? Da wäre dann vieles aktueller... |
AW: SSH for dummies
Danke für die Antworten.
Ich habe Delphi XE3, das Einkommen einer Kirchenmaus und den Bedarf (an Komplexität) eines Konzerns. Der Umstieg auf die neue Version geht aus ersteren Gründen nicht, Freepascal nicht aus zweiteren Gründen. Gibt es keinen anderen Weg, die Datei zu holen? Es ist einfach ein Link, das ich im Browser anwählen kann und "speichern unter..". Mit dem Explorer 6.0 unter Win 7 (damit läuft meine Delphi VM) kann ich die Datei abspeichern, wenn ich es manuell via Adreszeile anwähle und die Befehle über das Menü eingebe. |
AW: SSH for dummies
Wäre ein Umstieg von Indy auf WinAPI denkbar?
|
AW: SSH for dummies
Zitat:
Code:
HTH
uses
..,Vcl.ExtActns,...; var Loader : TDownLoadURL; begin Loader := TDownLoadURL.Create(Self); try Loader.URL := 'http://hier.deine.quelle.eintragen.pdf'; Loader.FileName := 'D:\temp\zieldatei.pdf'; Loader.Execute; finally Loader.Free; end; end; |
AW: SSH for dummies
Für aktuellere Indy braucht man kein aktuelleres Delphi.
Man kann auch Indy für XE3 aktuallisieren. Geht ja auch für Delphi7 und das ist schon ein paar Wochen älter. Wenn dashier die aktuellste Version ist, klappt das ab Delphi 5: ![]() Um welche Url handelt es sich denn da? Unterstützt die ausschließlich TSL 1.3? Ansonsten versuch mal bitte sslvSSLV23, das besagt grob: "Liebe Komponente, einige Dich bitte mit dem Server selbst auf die passende Methode." Wenn da nix bei rauskommt, brauchst Du neuere Indykomponenten. Ansonten probier' bitte mal die ![]() |
AW: SSH for dummies
Zitat:
Aber zumindest ab Delphi 2007 sollte es klappen. Für Delphi 6 und 7 hatte ich vor ein paar Monaten (oder sind es inzwischen schon Jahre?) mal Fixes eingestellt, die Remy dann irgendwann tatsächlich eingepflegt hat. (Wobei man ihm keinen Vorwurf machen kann, er ist wie die Maintainer von vielen anderen Delphi-Bibliotheken fast allein für alles zuständig.) |
AW: SSH for dummies
Bei meinem Delphi 7 hat's letztens aber geklappt.
|
AW: SSH for dummies
Zitat:
(man muss nicht die Packages installieren) |
AW: SSL for dummies
Danke für Deine Antwort.
Das sah so vielverprechend aus! Allerdings speist mich mein Programm mit der obigen Fehlermeldung ab. "Fehler" , ach wirklich. :shock: --------------------------- meinProgramm --------------------------- Fehler beim Download von URL: ![]() --------------------------- OK --------------------------- Gibt es Parameter, wie cih herausfinde, WELCHEN Fehler? |
AW: SSH for dummies
Zitat:
Sollte es nicht so genutzt werden?
Delphi-Quellcode:
Um Fehler auswerten zu können musst Du die WinAPI "URLDownloadToFile" selbst aufrufen, der Delphi wrapper schluckt die Return Codes.
procedure DownStream(const AURL: String; const ALocalFile: String);
var URLStream: TDownloadUrl; begin URLStream := TDownLoadURL.Create(Self); try URLStream.URL := AURL; URLStream.FileName := ALocalFile; URLStream.ExecuteTarget(Self); // <- das meine ich im speziellen finally URLStream.Free; end; end; |
AW: SSL for dummies
|
AW: SSL for dummies
Hier ein mini Beispiel ohne Wrapper:
Delphi-Quellcode:
Mögliche Return Codes:
function DownLoadInternetFile(Source, Dest : String): Integer;
begin try Result := URLDownloadToFile(nil, PChar(Source), PChar(Dest), 0, nil); except Result := -1; end; end; S_OK The download started successfully. E_OUTOFMEMORY The buffer length is invalid, or there is insufficient memory to complete the operation. INET_E_DOWNLOAD_FAILURE The specified resource or callback interface was invalid. -1 Exception Anleitung zur API: ![]() |
AW: SSL for dummies
Hallo nochmal, ich habe zur API mal etwas weiter gelesen, wenn Du Dir einen Callback einrichtest könntest Du auch erweiterte Übertragungs- / Protokoll- Fehler abfragen oder momentane Position des Downloads für eine ProgressBar o.ä..
|
AW: SSL for dummies
von mir aus darf es alles sein.
Doch mormot.core.os, mormot.net.client findet mein Delphi XE 3 nicht. Das mit dem Fehlermeldung-Ausgeben habe ich zwar gelesen, doch kann es nicht umsetzen. Es geht wirklich nur darum, jenen KLick, den ich im Explorer habe, durch Delphi ausführen zu lassen. Der Explorer ist uralt, sehe gerade nach: aus 2012 (die Versionsanzeige zickt). Er ist nur in meiner Delphi VM. Doch der kann die Datei anzeigen. |
AW: SSL for dummies
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 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 by Thomas Breitkreuz