Delphi-PRAXiS
Seite 7 von 9   « Erste     567 89      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Datei aus dem Internet herunterladen - geht nicht mehr! (https://www.delphipraxis.net/198893-datei-aus-dem-internet-herunterladen-geht-nicht-mehr.html)

Delphi.Narium 22. Dez 2018 15:07

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
Du entwickelst doch in einer VM. Das Pingen muss aus der VM heraus funktionieren. Wenn der Hostrechner der VM erfolgreich ein Ping absetzen kann, heißt das noch lange nicht, dass das auch aus der VM funktioniert.

Dateien kann man nicht anpingen, sondern nur Rechner, IP-Adressen, Domänen.

Solange es nicht aus der VM heraus funktioniert und die Ping-Ergebnisse aus der VM nicht mit denen vom Hostrechner vergleichbar sind, ist jeder andere Versuch der Problemlösung unsinnig und nicht zielführend.

Wenn Du mit dem Ping aus der VM heraus erfolgreich bist, kannst Du an die Behebung der Exception gehen.

Dazu pappe bitte noch 'ne Komponente TIdSSLIOHandlerSocketOpenSSL (oder so ähnlich im Namen) aufs Formular und trage diese im Objektinspektor für die TIdHttp-Komponente bei der Eigenschaft IOHandler ein.

Dann erneut probieren und berichten, was beim ShowMessage rauskommt.

NicoleWagner 22. Dez 2018 18:23

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
ping ist in allen Fällen positiv:
host: TTL = 54
VM: TTL = 128

habe die IP Nummer angepingt, durch die ich mittlerweile die Domain ersetzt habe.


zu TIdSSLIOHandlerSocketOpenSSL habe ich unter dem Reiter Indy nichts gefunden, was irgendwie ähnlich aussieht.

Drücke ich auf die Eigenschaft Handler bei dHTTP auf F1 lese ich (und verstehe kein Wort):
Data.Cloud.CloudAPI.TCloudHTTP.IOHandlerAus RAD Studio VCL Reference
Übergeordnet: TCloudHTTP
property IOHandler: IIPSSLIOHandlerSocketOpenSSL read GetIOHandler write SetIOHandler;

Ich fürchte, ich arbeite nicht mit Properties. Bin hier leider gar nicht schlau.

DieDolly 22. Dez 2018 18:26

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
Zitat:

zu TIdSSLIOHandlerSocketOpenSSL habe ich unter dem Reiter Indy nichts gefunden, was irgendwie ähnlich aussieht.
Wenn ich überlege welche Probleme noch so auf dich zukommen und mit welch minimalem Aufwand du dein Projekt auf 10.3 porten könntest ...

Delphi.Narium 22. Dez 2018 18:58

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
Mein Delphi hat 'nen Reiter Indy I/O-Handlers. Da gibt es auch eine Komponente mit 'nem geschlossenen Vorhängeschloss, mit hellem Hintergrund (die Variante mit dunklem Hintergrund ist für Server gedacht).

Mein Delphi hat im Menü Ansicht 'nen Eintrag Komponentenliste.
Wenn man die anzeigt, so kann man in ihr oben den Namen der Komponente eingeben, bzw. Teile davon. Sie sucht einem dann das passende oder ähnliches raus. Mit Doppelklick auf die Komponente in der Liste wird sie dann eingefügt. Die Suche dadrin ist einfacher, als das Durchforsten aller Palettenreiter, insbesondere, wenn man nicht weiß, wo ein Komponente "vergraben" ist. Eigentlich nutze ich immer die, durch die Reiter zu wühlen ist mir zu umständlich.

NicoleWagner 22. Dez 2018 19:22

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
Indy habe ich davor noch nie gebraucht.
Danke für die Hinweise auf die Kathegorie. Nur leider ist die Fehlermeldung jetzt wieder die alte: "SSL Bibliothek konnte nicht geladen werden".
Sie heißt jettz ESSCouldNotLoadLibrary (oder so ähnlich)

DieDolly: Wieso denkst Du, dass die Installation von zig Fremdkomponenten ein minimaler Aufwand wäre? Abgesehen vom astronomischen Preis für alle zusammen.

TiGü 22. Dez 2018 19:29

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
Man kann Messageboxen mit Fehlermeldungen übrigens wunderbar mit Strg+C kopieren und demzufolge nicht immer unvollständig und fehlerhaft abschreiben.

Delphi.Narium 22. Dez 2018 19:38

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
Befinden sich die DLLs im gleichen Verzeichnis, wie die Exe?

Ggfls. das Programm mal nicht aus der IDE starten, sondern über den Explorer.

Oder bei den Startparametern (im Menü Start der IDE) beim Arbeitsverzeichnis explizit das Verzeichnis angeben, in dem, sich die Exe befindet.

NicoleWagner 22. Dez 2018 20:11

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
Ja, die dlls sind im richtigen Verzeichnis.

Meine Message-Boxen lassen sich nicht kopieren. Text ist nicht markierbar.
Glaube mir, sonst würde ich ;-)
Das Abschreiben nervt.

Delphi.Narium 22. Dez 2018 20:21

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
ShowMassage kopieren:

Es muss nix markiert werden, einfach nur Strg+C drücken und hier mit Strg+V einfügen.

Sieht dann ungefähr so aus:
Code:
---------------------------
Programmtitel
---------------------------
Meldungstext
---------------------------
OK  
---------------------------
Du hattest schonmal die Fehlermeldung
Delphi-Quellcode:
error: 1409442E: SSL routines:ssl3_read_bytes:tlsv1 alert protocol version
Weißt Du noch unter welcher Konstellation, welche DLLs da wo lagen?
Wenn ja, versuche bitte diesen Zustand wieder herzustellen und starte das Programm dann nochmal.

NicoleWagner 28. Dez 2018 21:06

AW: Datei aus dem Internet herunterladen - geht nicht mehr!
 
Wo Du recht hast, hast Du recht, danke für den Tipp!
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project_Download_Url.exe ist eine Exception der Klasse EIdOSSLUnderlyingCryptoError mit der Meldung 'Fehler beim Verbinden mit SSL.
error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------


Das sind jetzt die allerletzten Versionen der 64 bit Compilierung und auch 64 bit dlls mit dem Quellcode:

procedure TForm1.FormCreate(Sender: TObject);
var
DL: THTTPFileDownload;
begin
DL := THTTPFileDownload.Create(nil);
try
DL.DownloadFile('https://*leider vertraulich*.pdf','C:\.....pdf');

// DL.DownloadFile('http:\\www.meinwebserver.com\test\test.zip', 'C:\Temp\test.txt');
finally
DL.Free;
end;
end;

Dieser Fehler tritt auch auf, wenn ich das Programm abbreche und aus der Source neu erzeuge.
Eine andere Fehlerquelle kann noch entstanden sein, dass ich auf 32 bit umgestellt habe, weil meine IDE bei 64 muckte bezüglich der einen Unit und ich danach falsche dlls hatte. Doch das sollte jetzt behoben sein und alles auf 64 bit gesetzt (was ich unbedingt braucht für das Gesamtprojekt)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:08 Uhr.
Seite 7 von 9   « Erste     567 89      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz