Можно ли заставить 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.

Другие вопросы по тегам