Фукція для відправки GET запитів через мережу. Підтримується HTTP/HTTPS.

 

Синтаксис

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

 

Параметри та значення, що повертаються

Параметр

Тип

Значение

sURL

string

адреса, куди слід надсилати запит. Підтримується як http, і https. Ви можете вказати будь-який порт для підключення, наприклад, https://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