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.