Lo conseguí con objetos TNetHTTPClient:
Código Delphi
[-]function TPPRUEBAS.LeerFechaHoraInternet(UTC: Integer): string;
var
UnixTicks: Int64;
FechaHora: TDateTime;
HttpClient: TNetHTTPClient;
HttpResponse: IHTTPResponse;
begin
Result := FormatDateTime('yyyy-mm-dd"T"hh:nn:ss"Z"', Now); Try
HttpClient := TNetHTTPClient.Create(nil);
Try
HttpResponse := HttpClient.Get('https://www2.roa.es/cgi-bin/horautc'); If HttpResponse.StatusCode = 200 Then
Begin
UnixTicks := StrToInt64(Trim(HttpResponse.ContentAsString)); FechaHora := UnixToDateTime(UnixTicks div 1000); FechaHora := IncHour(FechaHora, UTC); Result := FormatDateTime('yyyy-mm-dd"T"hh:nn:ss"Z"', FechaHora); Consola.Lines.Add('Fecha-hora de internet sincronizada correctamente.');
End
Else
Consola.Lines.Add('Error: ' + HttpResponse.StatusCode.ToString + ' ' + HttpResponse.StatusText);
Except
on E: Exception do
Begin
Result := FormatDateTime('yyyy-mm-dd"T"hh:nn:ss"Z"', Now);
Consola.Lines.Add('No se pudo sincronizar la fecha-hora de internet. Se muestra la fecha-hora del equipo.');
End;
End;
Finally
If Assigned(HttpClient) Then HttpClient.Free;
End;
end;
Acordarse de poner en el uses: System.Net.HttpClient, System.Net.URLClient, System.Net.HttpClientComponent