github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/content/ru/docs/javascript/http.md (about)

     1  
     2  ---
     3  title: "http запросы"
     4  linkTitle: "http"
     5  date: 2021-10-20
     6  description: >
     7  
     8  ---
     9  
    10  В проекте **Smart Home** имеется возможность выполнения произвольных HTTP запросов синхронно к сторонним ресурсам. 
    11  
    12  Объект `http` позволяет выполнять синхронные HTTP запросы к сторонним ресурсам, таким как API-сервисы,
    13  и получать ответы. Вы можете использовать этот метод для интеграции с другими системами и получения или отправки данных
    14  через HTTP протокол в вашем проекте **Smart Home**.
    15  
    16  поддерживаемые методы:
    17  * GET
    18  * POST
    19  * PUT
    20  * DELETE
    21  
    22  {{< alert color="success" >}}Функция доступна в любом скрипте системы.{{< /alert >}}
    23  
    24  ----------------
    25  
    26  Для этого доступен соответствующий метод:
    27  
    28  ### GET запрос 
    29  ```coffeescript
    30  response = http.get(url)
    31  ```
    32  
    33  |  значение  | описание  |
    34  |-------------|---------|
    35  | url |    адрес запроса   |
    36  | response | рекзультат запроса |
    37  
    38  
    39  ----------------
    40  
    41  ### POST запрос 
    42  ```coffeescript
    43  response = http.post(url, body)
    44  ```
    45  
    46  |  значение  | описание  |
    47  |-------------|---------|
    48  | url |    адрес запроса   |
    49  | body |    тело запроса   |
    50  | response | рекзультат запроса |
    51  
    52  ----------------
    53  
    54  ### Headers запрос 
    55  ```coffeescript
    56  response = http.headers(headers).post(url, body)
    57  ```
    58  
    59  |  значение  | описание  |
    60  |-------------|---------|
    61  | headers |    адрес запроса   |
    62  | url |    адрес запроса   |
    63  | body |    тело запроса   |
    64  | response | рекзультат запроса |
    65  
    66  ----------------
    67  
    68  ### пример кода
    69  
    70  ```coffeescript
    71  # auth
    72  # ##################################
    73  
    74  res = http.digestAuth('user','password').download(uri);
    75  
    76  res = http.basicAuth('user','password').download(uri);
    77  
    78  res = http.download(uri);
    79  
    80  
    81  # GET http
    82  # ##################################
    83  
    84  res = http.get("%s")
    85  if res.error
    86    return
    87  p = JSON.parse(res.body)
    88  
    89  
    90  # POST http
    91  # ##################################
    92  
    93  res = http.post("%s", {'foo':'bar'})
    94  if res.error
    95    return
    96  p = JSON.parse(res.body)
    97  
    98  
    99  # PUT http
   100  # ##################################
   101  
   102  res = http.put("%s", {'foo':'bar'})
   103  if res.error
   104    return
   105  p = JSON.parse(res.body)
   106  
   107  
   108  # GET http + custom headers
   109  # ##################################
   110  
   111  res = http.headers([{'apikey':'some text'}]).get("%s")
   112  if res.error
   113  return
   114  p = JSON.parse(res.body)
   115  
   116  # DELETE http
   117  # ##################################
   118  
   119  res = http.delete("%s")
   120  if res.error
   121    return
   122  p = JSON.parse(res.body)
   123  
   124  ```