Einzelnen Beitrag anzeigen

cytrinox

Registriert seit: 4. Sep 2006
88 Beiträge
 
#1

TRestClient mit Indy oder WinHTTP?

  Alt 6. Nov 2015, 17:24
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.
  Mit Zitat antworten Zitat