![]() |
Indy 10, Delphi 2005, HTTP + SSL -> Fehler in der Compone
Leider gibt es zu diesem Thema einige Beiträge in diesem Forum, doch keiner davon wurde beantwortet. Sieht so aus, als ob praktisch niemand diese Compos mit SSL verwendet. Ich versuchs trotzdem:
Folgender Code: Ein TIdHTTP und ein TIdSSLIOHandlerSocketOpenSSL auf das Form, verbinden und dann: Result := IdHTTP1.Get(sURI+sParam); Gibt manchmal etwas ins Result zurück, manchmal auch nicht. Soweit nicht weiter Spannend. Jetzt aber: In ALLEN Fällen wird dasselbe von der Website geliefert. Wenn man ein InterceptLog dazunimmt, so gibt es folgendes Log (gekürzt): Stat Connected. Sent 13.07.2005 17:06:30: GET /cgi-bin/auk?cmd=ucn...;xml=1; HTTP/1.1<EOL>Host: secure.xxx.ch:443<EOL>Accept: text/html, */*<EOL>Accept-Encoding: identity<EOL>User-Agent: Mozilla/3.0 (compatible; Indy Library)<EOL><EOL> Recv 13.07.2005 17:07:05: HTTP/1.1 200 OK<EOL>Date: Wed, 13 Jul 2005 15:03:56 GMT<EOL>Server: Apache/1.3.26 (Unix) Debian GNU/Linux mod_ssl/2.8.9 OpenSSL/0.9.6g mod_perl/1.26<EOL>Setted: : h: ![]() Recv 13.07.2005 17:07:28: 0<EOL><EOL> Recv 13.07.2005 17:07:32: Stat Disconnected. Stat Connected. Sent 13.07.2005 17:07:56: GET /cgi-bin/auk?cmd=ucn...;xml=1; HTTP/1.1<EOL>Host: secure.xxx.ch:443<EOL>Accept: text/html, */*<EOL>Accept-Encoding: identity<EOL>User-Agent: Mozilla/3.0 (compatible; Indy Library)<EOL><EOL> Recv 13.07.2005 17:08:03: HTTP/1.1 200 OK<EOL>Date: Wed, 13 Jul 2005 15:04:59 GMT<EOL>Server: Apache/1.3.26 (Unix) Debian GNU/Linux mod_ssl/2.8.9 OpenSSL/0.9.6g mod_perl/1.26<EOL>Setted: : h: ![]() Recv 13.07.2005 17:14:06: 0<EOL><EOL> Recv 13.07.2005 17:15:13: Stat Disconnected. Ich kann keinen einzigen Unterschied zwischen diesen beiden Fällen erkennen, aber im ersten Fall wurde die Result abgefüllt, im zweiten Fall wurde die Result Variable nicht abgefüllt. Es scheint ein Fehler in der IdSSL zu sein, der den Chunked Part mit der Grösse $3c2 manchmal fälschlicherweise mit der Grösse 0 (welche gleich darauf folgt) nimmt, und dann nicht zurückliefert. Ich konnte aber nicht ausfindig machen, was der Grund dafür ist. Das ganze Verhaltet sich sporadisch. D.h. ich kann von 10 Get's manchmal 5, 2 oder 8 mit Resultat kriegen. Juhuii! Hilfe!!! |
Re: Indy 10, Delphi 2005, HTTP + SSL -> Fehler in der Com
Ich kann dir nur den Tipp geben wenn Du Geld ausgeben kannst: Welchsle auf andere Komponenten.
Von den Indy hab ich in letzter Zeit schon öfters von Qualitätsproblemen gehört. Vor allem die 10er-Komponenten sollen noch ziemlich Buggy sein. Wir selbst setzen die ![]() |
Re: Indy 10, Delphi 2005, HTTP + SSL -> Fehler in der Com
Danke für den Tipp!
Wenn ich mein Programm mal verkaufen kann, dann werde ich vielleicht auch mal Geld für ein GUTES Compopack ausgeben. Aber bis dahin möchte ich das Budget entsprechend klein halten, sprich das Geld lieber für den Psychiater ausgeben, den man bei Indy brauchen tut! Egal, ich hab nun den *#°§&*-Fehler gefunden (ja, ich weiss, einer von 1000 Bugs in Indy 10) aber nun funktioniert wenigstens das Downloaden von Chunked HTTP v1.1 Transfers über SSL. Man ändere simpel und einfach folgende Zeile in IdHTTP.pas:
Delphi-Quellcode:
Also kurzum, Gregors Workaround entfernen! Sein Workaround Code wurde inzwischen anderweitig Implementiert und dabei halt vergessen, den Workaround selbst zu entfernen. 5 Jahre lang... Was zum Teufel basteln da die Indy Jungs eingentlich rum??
// GREGOR Workaround
// if we get an error we disconnect if we use SSLIOHandler // AMA Workaround to get chunked http v1.1 ssl transfers working again... // if Assigned(FHTTP.IOHandler) then // begin // Response.KeepAlive := not (FHTTP.Connected and (FHTTP.IOHandler is TIdSSLIOHandlerSocketBase) and Response.KeepAlive); // end; Möge dieser Fix auch jemandem anderem Helfen. B.t.w.: Die IP*Works Komponenten, was muss ich da an Geld in die Hand nehmen um die nötigen Pakete für HTTP/HTTPS Transfers kaufen zu können? Greets, Ken |
Re: Indy 10, Delphi 2005, HTTP + SSL -> Fehler in der Com
Zitat:
Zitat:
![]() Alternativ könntest du die SSL-Implementierung von ![]() |
Re: Indy 10, Delphi 2005, HTTP + SSL -> Fehler in der Com
Danke für die Links! Ich bin auf meiner Suche nach Komponenten ebenfalls auf diese 2 Produkte gestossen, scheint das Beste zu sein.
IP*Works ist ne ganze Stange teurer als ICS; denke ich werde da mal ICS berücksichtigen, sobald ich das nächste Problem mit den Indy's hab ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:27 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