MyChat Scripts Engine: mHTTPSendGetMessage

MyChat Scripts Engine: mHTTPSendGetMessage

Функция для отправки GET запросов по сети. Поддерживается HTTP/HTTPS.

 

Синтаксис

function mHTTPSendGetMessage(sURL, sHeaders: string; iTimeOut: integer): string;

 

Параметры и возвращаемые значения

Параметр

Тип

Значение

sURL

string

адрес, куда следует отправлять запрос. Поддерживается как http, так и https. Вы можете указать любой порт для подключения, например, http://yourserver.com:8080/myservice/

sHeaders

string

специальные заголовки (если нужно). Разделяются CRLF, если нужно больше одного. Обычно, если сервис того не требует, пустая строка;

iTimeOut

integer

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

 

Результат функции

Возвращает ответ на запрос в виде текстовой строки. Если запрос был неудачным, вернётся пустая строка или текст сетевой ошибки.

 

Пример

Подключение к сервису zadarma.com, чтобы узнать баланс по счёту:

const
 sParam = '';
 sMethod = '/v1/info/balance/';
 sKey = '1ba738452343797198';
 sSecret = '7f984576e664';
var
  sJSONResult, sSign, status: string;  
begin
  sSign := EncodeBase64(StrToHex(HMAC_SHA1(sMethod + sParam + StrToHex(MD5(sParam)), sSecret)));

  sJSONResult := mHTTPSendGetMessage('https://api.zadarma.com' + sMethod, 'Authorization:' + sKey + ':' + sSign, 1000);

  mLogScript(sJSONResult, 'sJSONResult');
  
  JSONGetString(sJSONResult, 'status', status);
  
  mLogScript(status, 'status');
end.

Результат работы скрипта

[16:33:03] (Log "mHTTPSendGetMessage"): [sJSONResult] {"status":"success","balance":10.2637,"currency":"USD"}

[16:33:03] (Log "mHTTPSendGetMessage"): [status] success

[16:33:03] (Run "mHTTPSendGetMessage"): Время выполнения скрипта: 565 мс

[16:33:03] (Run "mHTTPSendGetMessage"): Скрипт выполнен успешно.
 

Ещё посмотреть

EncodeBase64

JSONGetString

HMAC_SHA1

MD5

mLogScript

StrToHex