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 ```