Entwickler-Ecke
Internet / Netzwerk - https-Seiten herunterladen (indy)
stiftmaster - Di 17.06.08 15:51
Titel: https-Seiten herunterladen (indy)
Hallo,
bisher konnte ich mit Indy (unter Verwendung von Delphi 7) mit http-Seiten herunterladen - also den Quelltext. Das gleiche möchte ich jetzt auch mit https-Seiten ermöglichen. Daher habe ich meine Funktion zum Erzeigen von einem TIdHttp wie folgt erweitert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| function TBase.GetIdHTTP: TIdHTTP; var IOHandler: TIdSSLIOHandlerSocket; begin Result := TIdHTTP.Create(nil); Result.AllowCookies := False; Result.Request.BasicAuthentication := cServerAuthentification; if (Result.Request.BasicAuthentication = True) then begin Result.Request.Username := cServerUsername; Result.Request.Password := cServerPassword; end;
if (cServerUseSSL = True) then begin IOHandler := TIdSSLIOHandlerSocket.Create(nil); Result.IOHandler := IOHandler; Result.Port := 443; end; |
Compilieren lässt sich das ganze und läuft auch, wenn cServerUseSSL = False ist. Wenn ich allerdings cServerUseSSL auf True setze, dann erhalte ich die Meldung:
Im Projekt Bla.exe ist eine Exception der Klasse EIdOSSLCouldNotLoadSSLLibrary aufgetreten. Meldung: 'SSL.-Bibliothek konnte nicht geladen werden.'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
Nach Suchen in Google habe ich erfahren, dass ich die beiden DLLs "libeay32.lib" und "ssleay32.lib" benötige. Diese habe ich in das Applikations-Verzeichnis kopiert. Aber auch dann kommt noch die Meldung.
Hat jemand von euch n' Idee, was mir fehlt?
Vielen Dank für eure Infos.
Stefan
stiftmaster - So 22.06.08 13:07
Hi,
hat hier keiner eine Idee? Ich kann doch nicht der erste sein, der versucht, eine https-Seite aufzurufen, oder?
Vielen Dank für eure Hilfe
Stefan
matze - So 22.06.08 17:53
kopier die beiden DLLs doch mal ins System Verzeichnis rein.
stiftmaster - Mo 23.06.08 08:38
Hallo,
und vielen Dank für deinen Hinweis. Auf diesen Versuch hätte ich auch selber kommen können, aber leider hat dies auch nicht geklappt.
Ebenso bin ich drauf gestoßen, dass ich .lib Dateien verwende und es die gleichen Dateien auch in .dll Form gibt. Daher habe ich alle 4 Dateien (2x lib, 2x dll) in das Applikations- und in das System32-Verzeichnis kopiert.
Trotz alledem bleibt die Fehlermeldung die gleiche und ich bin wieder auf einen Tipp angewiesen, da ich absolut nicht nachvollziehen kann, was die Kiste von mir will.
Vielen Dank
Stefan
matze - Mo 23.06.08 09:40
Dann ist da irgendwas anderes im Eimer. Installier doch mal die Indys neu oder frage in der Indy Mailingliste...
stiftmaster - Mo 23.06.08 10:26
Hi,
vielen Dank für den Hinweis. Bin direkt auf Indy 9 umgestiegen und damit läuft es jetzt einwandfrei. Nochmals danke an alle.
Man hört sich
Stefan
Hendi48 - So 29.06.08 11:51
Hi,
ich habe dasselbe Problem, dass Indy die Libs nicht akzeptiert. Ich verwende das aktuellste Build (vom SVN) und trotzdem geht es nicht. Und ich will auch nicht downgraden, weil dann einige Verbesserungen von Indy 9 -> 10 fehlen. Gibt es vielleicht aktuellere DLL's mit denen es geht?
Gruß,
Hendi
matze - So 29.06.08 15:01
Meines Wissens nicht, aber frag doch mal in der Indy Mailingliste. Und wenn die da eine Antwort haben, dann sag sie uns noch bitte :-)
Klabautermann - Mo 30.06.08 12:56
Hallo,
das Problem kommt mir bekannt vor. Allerdings in der Form, das das laden der Librarys beim ersten Nutzungsversuch scheitert (auch nicht auf allen Systemen) beim zweiten Versuch aber klappt. Das unschöne Workaround sieht also bei mir so aus, das ich es wenn es nicht Klappt erneut versuche. Nach x Versuchen gibt es dann die Fehlermeldung. Irgendwie scheinen die Indys sich da selbst zu überholen (versuch zu nutzen wenn Laden noch nicht abgeschlossen)
Gruß
Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!