Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TRestClient mit Indy oder WinHTTP? (https://www.delphipraxis.net/187206-trestclient-mit-indy-oder-winhttp.html)

cytrinox 6. Nov 2015 16:24

TRestClient mit Indy oder WinHTTP?
 
Hi,

die "neuen" Klassen, unter anderem TRestClient wären ideal für mich, da ich viele JSON/REST Quellen abfragen muss. Prinzipiell klappt das auch alles soweit, aber unter WinXP, das ich noch ca. 2 Jahre mit supporten muss, kann ich mit TRestClient keine HTTPS-Verbindungen aufbauen.

Schon ein simples Testprojekt, das auf eine beliebige https URL geht (z.B. https://google.com) lässt die Anwendung einfach einfrieren, sobald man Request.Execute() aufruft.

Meine erste Vermutung war, dass die OpenSSL DLL Dateien fehlen, weil sowas ja meist auf Indy aufbaut und die ohne DLLs kein SSL/HTTPS können.

Jetzt ist mir aber aufgefallen, dass die OpenSSL DLL Dateien selbst unter Windows 7 garnicht geladen werden (obwohl hier der REST Request funktioniert). Also hab ich mir die Implementierung in REST.HttpClient angeschaut, und siehe da: da wird kein Indy benutzt - geht alles über WinHTTP.
Hab in der Hilfe und im Online-Wiki nachgesehen, da wird aber behauptet dass Indy benutzt wird und man unbedingt die OpenSSL Libs braucht.

Daher: Ist bekannt, dass die Doku hier schlicht falsch ist? Kann man das irgendwo konfigurieren, ob Indy oder WinHTTP genutzt wird? Oder überseh ich hier weas ganz offensichtliches?
Problematisch ist, dass ich das nur unter XP nachvollziehen kann. Und hier bis dato es nicht geschafft habe, den Remote-Debugger anzuwerfen. Sobald ich mich von Delphi XE8 verbinden will, friert die IDE einfach ein.
Ich vermute, dass in dem WinHTTP Wrapper von XE8 irgendwas schief läuft sobald man HTTPS auf WinXP nutzen will.

Der schöne Günther 6. Nov 2015 16:57

AW: TRestClient mit Indy oder WinHTTP?
 
Also neulich hatte ich nochmal eine WinXP-Kiste in der Hand und konnte fast überhaupt keine HTTPS-Seite mehr ansurfen. Kenne mich damit nicht mehr aus, habe nur noch die ganzen Schreckensmeldungen ("Poodle" usw.) im Kopf, wahrscheinlich haben die Server mittlerweile die uralten Transportsicherungen abgeschaltet und XP kann nur das. Keine Ahnung :|

Sir Rufo 6. Nov 2015 17:06

AW: TRestClient mit Indy oder WinHTTP?
 
Also Seattle unterstützt kein Windows XP mehr ... und XE8 auch schon nicht ... (irgendwo war Schluss mit der XP Unterstützung).

Wenn also zufälligerweise eine Anwendung doch unter XP funktioniert, dann einfach nur freuen ... erwarten darf man das nicht.

Dennis07 9. Nov 2015 07:01

AW: TRestClient mit Indy oder WinHTTP?
 
Soweit ich weiß, benötigt Indy 10 keine Open-SSL-Libs mehr. Auf Indy 9 traf das noch zu, aber wer benutzt heutzutage noch Indy 9 ...?
Zu der Sache mit Windows XP: Seitdem Microsoft auch offiziell den Support durch Sicherheitsupdates vollständig eingestellt hat, ist XP hoffnungslos veraltet und nunmehr auch sehr unsicher (heißt idF. noch unsicherer als die neueren Versionen).
Auch werden moderne Features und WinControls nicht mehr unterstützt und führen zu Fehlern.
Bis auf diie ganzen Staatlichen Behörden und die meisten Geldautomaten verwendet aber kein Mensch in Deutschland mehr Windows XP freiwillig, dürfte also problemlos vernachlässigbar sein.
Und wer's doch benutzt, der wird sich mit ganz anderen Dingen herumschlagen dürfen.

mquadrat 9. Nov 2015 07:19

AW: TRestClient mit Indy oder WinHTTP?
 
Alternativ kannst du eine andere Bibliothek für REST verwenden. Da kann man zum Teil dann auch wählen, mit welcher HTTP Komponente die Verbindung aufgebaut werden soll.

hoika 9. Nov 2015 18:31

AW: TRestClient mit Indy oder WinHTTP?
 
Hallo,

Bis auf die ganzen Staatlichen Behörden und die meisten Geldautomaten verwendet aber kein Mensch in Deutschland mehr Windows XP freiwillig

Wie kommst du denn auf die Idee?
Der Umstieg ist für viele Nutzer einfach nicht machbar, weil sie keine Ahnung davon haben.
Und wenn der Rechner kein Internet hat, gibt es auch keine "Unsicherheit".
Erst wenn der alte Rechner kaputt geht, gibt es einen neuen mit einem neuen Betriebssystem.

Das sind nicht meine Worte, sondern die von Kunden.


Heiko

Daniel 10. Nov 2015 05:50

AW: TRestClient mit Indy oder WinHTTP?
 
Zur Frage:
Bis XE8 werkelten die INDY-Komponenten innerhalb der REST-Library. Die Architektur wurde jedoch zu Beginn bewusst so gewählt, dass man die Implementierung tauschen kann, was jetzt mit Seattle passiert ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:41 Uhr.

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