Загрузили получаемый от оборудования json на github. Выполняем запрос:
var
aHTTP: TM_HTTP;
aRequest: string;
begin
aHTTP := RequestHTTP;
aHTTP.SetHeader('Accept', 'application/json');
aHTTP.Get('https://rogalsky83.github.io/test/TestFile.json', 55);
end.
Скрипт (выполнен Get/Post запрос):
var
aResult: string;
aNode: TM_JSONNode;
begin
if response.Code <>200 then
Text1.Text:= 'Ошибка ' + IntToStr(Response.Code);
if response.code = 200 then
if Response.Tag = 55 then
begin
aNode := Response.NodesStr['drtc'];
if Assigned(aNode) then
Text5.text := aNode.AsStr;
Text3.Text:=IntToStr(Response.Count);
Text1.Text:=Response.Text;
end;
end.
В результате: Response.Count=0, aNode - не существует, хотя в Response.Text весь JSON отображается.
При этом, если использовать такой-же JSON файл, созданный копированием текста из Postman, то все работает:
var
aHTTP: TM_HTTP;
aRequest: string;
begin
aHTTP := RequestHTTP;
aHTTP.SetHeader('Accept', 'application/json');
aHTTP.Get('https://rogalsky83.github.io/test/kamera4.json', 55);
end.
Отличие этих файлов только в том, что первый файл был получен Get.sreame, а второй просто raw текст из postman.
Есть предположение, что Simple-Scada не разбирает как json из-за какого-то заголовка, но заголовки ответа посмотреть нет возможности.