Можно ли заставить TRESTClient в Delphi Rio работать в Windows XP? - PullRequest
1 голос
/ 28 апреля 2020

Используя компоненты 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 Ответ

1 голос
/ 29 апреля 2020

Кажется, что 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/

BTW, @Remy Lebeau, удаленный отладчик Embarcadero также не работает на моей виртуальной машине XP, что, как я думал, вероятно из-за того, что она была упрощенной установкой "nLite" XP , Однако теперь я создал полную виртуальную машину XP-SP3 (POSReady), и удаленный отладчик (paserver) также не работает в этой установке, ища несуществующую точку входа в KERNEL32.dll.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...