Можно ли заставить TRESTClient в Delphi Rio работать в Windows XP?
Используя компоненты TRESTClient, я добавил возможность моего приложения CW_EPG для доступа к базе данных SchedulesDirect.org JSON под Windows 7 и выше, но запуск приложения в Windows XP вызывает только следующую ошибку при попытке доступа к сайту: Error: REST request failed: Error sending data: (12007) The server name or address could not be resolved
. Я пробовал включать / отключать различные элементы управления, перечисленные в инспекторе объектов, но мне не удалось изменить это сообщение об ошибке. Мне что-то не хватает или эта подсистема Rio просто несовместима с XP?
FWIW, вот соответствующий сегмент кода (базовый URL-адрес установлен в Object Inspector для RESTClient1 как https://json.schedulesdirect.org/20141201
):
RESTRequest1.ClearBody;
RESTRequest1.AddBody('{"username":"' + userID
+ '", "password":"' + THashSHA1.GetHashString(userPass) +
'"}',ctTEXT_PLAIN);
RESTRequest1.Method := rmPOST;
RESTRequest1.Resource := 'token';
RESTResponse1.RootElement := '';
try
RESTRequest1.Execute;
except on E:Exception do
begin
ShowMessage('Error: ' + E.Message);
exit;
end;
end;
1 ответ
Кажется, что TRESTClient будет работать в Windows XP, но только после того, как кто-то применил хаки, чтобы "обмануть" установку XP POSReady и тем самым включить TLS 1.1 и 1.2. См., Например, эту страницу:https://msfn.org/board/topic/178092-enable-tls-11-and-12-in-windows-xp-correctly/
Кстати, @Remy Lebeau, удаленный отладчик Embarcadero также не работает на моей виртуальной машине XP, что, как я думал, вероятно, связано с тем, что это урезанная установка "nLite" XP. Однако теперь я создал полную виртуальную машину XP-SP3 (POSReady), и удаленный отладчик (paserver) также не работает в этой установке, ища несуществующую точку входа вKERNEL32.dll
.