MyChat Scripts: функція mHTTPSendGetMessage, надіслати мережевий GET-запит
Фукція для відправки 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"): Скрипт виконано успішно.