Глобальный объект HTTP предназначен для операций с хостами через протокол HTTP с помощью скриптовой подсистемы.
Объект может использоваться в том случае, если есть необходимость обратиться из скрипта на кассе к внешней системе, чтобы запросить или передать какие-либо данные.

Добавлено в версиях 7.07.00.002, 7.06.05.441, все строки должны передаваться в UTF-8 кодировке.

Методы объекта

Метод

Объявление метода

Описание

GET

function Get(const AUrl: utf8string; var ResultText: utf8string): Integer

Получить данные от  указанного ресурса

POST

function Post(const AUrl, APostText: utf8string; var ResultText: utf8string): Integer;

Передать пользовательские данные указанному ресурсу

ClearHeaders

procedure ClearHeaders;

Удалить все добавленные headers

AddHeader

procedure AddHeader(const AHeader, AValue: utf8string);

Добавить дополнительный header для запроса

GetLastError

function GetLastError: string;

ErrorCode := Http.Get('https://127.0.0.1:777/rk7api/v2/refsview/roles.xsd'

, ResString);
if ErrorCode <> 200 then
  Gui.ShowMessage('Ошибка: ' + IntToStr(ErrorCode) + #13#10 + Http.GetLastError);

*в примере вместо адреса - URL-адрес сторонней системы

Получить  текстовое описание ошибки

Свойства объекта

Свойство

Тип

Описание

UserName

utf8stringИмя пользователя для авторизации к системе, к которой выполняется запрос.

Password

utf8stringПароль пользователя для авторизации к системе, к которой выполняется запрос.

ContentType

utf8stringТип данных

Charset

utf8stringКодировка запроса

ReadTimeout

integer

Таймаут для выполнения запроса, в миллисекундах. 

Также можно указать два предопределенных значения

Значение

Интервал

-1Время ожидания по умолчанию
-2Время ожидания бесконечно


Общий пример

var
  ResString: string;
  ErrorCode: Integer;
begin
  Http.Charset := 'utf-8';
  Http.ContentType := 'application/xml';
 
  Http.ClearHeaders;
  Http.AddHeader('Accept-Language', 'ru');
 
  Http.UserName := 'SomeUser';
  Http.Password := 'SomePassword';
 
  Http.ConnectTimeout := 2500;
 
  ErrorCode := Http.Get('https://127.0.0.1:777/rk7api/v2/refsview/roles.xsd', ResString);
  gui.showmessage('Utf8ToAnsi: '+Utf8ToAnsi(ResString));
gui.showmessage('Result: '+ResString);
end;