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

 

Синтаксис

function mHTTPSendPostMessage(sURL, sBody, sHeaders: string; iTimeOut: integer): string;

 

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

Параметр

Тип

Значение

sURL

string

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

sBody

string

тіло запиту. Текстовий рядок;

sHeaders

string

спеціальні заголовки (якщо потрібно). Розділяються CRLF, якщо потрібно більше одного. Зазвичай, якщо сервіс цього не вимагає, порожній рядок;

iTimeOut

integer

час у мілісекундах, максимальний час для очікування на відповідь віддаленого сервера.

 

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

Повертає відповідь на запит у вигляді текстового рядка. Якщо запит невдалий, повернеться порожній рядок або текст мережевої помилки.

 

Приклад


var
  sResult, sJSON: string;
begin
  sJSON := '{}';
  
  JSONSetString(sJSON, 'cmd', '0002');
  JSONSetInteger(sJSON, 'UserTo', 6);
  JSONSetInteger(sJSON, 'UserFrom', 3);
  JSONSetString(sJSON, 'Msg', 'Hit the road Jack' + CRLF + 
                              'and don''t you come back' + CRLF +
                              'no more, no more, no more, no more.');
  JSONSetString(sJSON, 'APIStype', 'msl');
  JSONSetString(sJSON, 'ServerKey', 'iddqd');
  
  mLogScript(sJSON, 'request');
  
  sResult := mHTTPSendPostMessage('https://mychatserver.mycompany.com/API/', sJSON, 'integrationapi: mychat', 2000);
  
  mLogScript(sResult, 'response');
end.


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

[16:41:35] (Log "PostRequestExample"): [request] {"cmd":"0002","Msg":"Hit the road Jack\r\nand don't you come back\r\nno more, no more, no more, no more.","ServerKey":"iddqd","UserFrom":3,"APIStype":"msl","UserTo":6}

[16:41:35] (Log "PostRequestExample"): [response] {"Cmd":2,"UINTo":6,"hash":"qQC3Qn4SMAdgQx5","State":0}

[16:41:35] (Run "PostRequestExample"): Час виконання скрипту: 133 мс

[16:41:35] (Run "PostRequestExample"): Скрипт виконано успішно.
 

Для тесту було обрано сервер MyChat та його IntegrationAPI (REST), в результаті користувач отримав повідомлення прямо в чат.


Дивитися ще

Опис команд IntegrationAPI

CRLF

JSONSetInteger

JSONSetString

mLogScript