RequestHTTP

> [HTML Version](requesthttp.html)

**Синтаксис**

````
function RequestHTTP(const AConnectTimeout: Integer = 8000; AReadTimeout: Integer = 5000): TM\_HTTP;

````
**Описание**

Создает и возвращает новый экземпляр TM\_HTTP для выполнения [HTTP POST/GET/PUT запросов](tmhttp.md). Имеет следующие параметры:

- **AConnectTimeout** - необязательный параметр. Определяет максимальное время ожидания (в миллисекундах) при установке соединения с сервером. Оптимальное значение для большинства задач - 8000мс. (8 секунд), оно используется по умолчанию. Слишком маленькое значение может приводить к ложным ошибкам на медленном или мобильном интернете. Слишком большое значение заставит скада-систему долго ждать ответа, если сервер полностью недоступен или выключен.

- **AReadTimeout** - необязательный параметр. Определяет максимальное время ожидания (в миллисекундах) ответа от сервера после того, как соединение уже было успешно установлено. Значение по умолчанию: 5000мс. (5 секунд). Если HTTP сервер не успеет передать данные за указанный период, то запрос прервется с текстом "Read timed out.". Увеличивайте этот параметр только в тех случаях, когда удаленный сервер выполняет «тяжелые» и длительные операции и долго отвечает.

Выполняя HTTP запросы можно отправлять и получать данные от любых серверов с открытым API. Примеры таких серверов:

- **погодные серверы с API**: weatherstack.com, openweathermap.org, accuweather.com, Яндекс.Погода и т.д. Примеры скриптов рассмотрены [по ссылке](weather.md).

- **сервис для отправки SMS-сообщений**: sms.ru.

- **получение информации о IP-адресах**: ipstack.com. 

**Примеры скриптов**

Примеры HTTP запросов рассмотрены [по ссылке](httppostgetex.md).