1.Login
В начале работы с API по управлению ECSS, необходимо выполнить login, для получения token, который должен быть использован в последующих запросах.
Пример запроса login с исползованием утилиты curl:
Запрос
curl http://192.168.115.4:9999/system/login -d "<in><login user="admin" password="password" /></in>" -D /tmp/headers
Ответ на запрос должен быть такого вида:
Ответ на запрос
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="login.xsd"> <settings md="md1" ds="ds1" version="3.14.14.613" inactive_timeout="infinity" megaco_support="false"/> </out>
Ключи для запроса login:
- -d - data, другими словами, тело запроса, в контентом формата xml или json.
<in> <login user="admin" password="password" /> - в скобках логин и пароль для CoCon или WEB </in>
- -D - необходимо для того, что бы сохранить заголовки в файл /tmp/headers для использования в последующих запросах.
Содержимое файла /tmp/headers
cat /tmp/headers HTTP/1.1 200 OK content-length: 228 content-type: text/xml date: Fri, 29 Mar 2024 05:04:10 GMT server: Cowboy set-cookie: token=md1@ecss1-255202611550936212953742631886202799529; Version=1
2. Проверка Login
Убедимся что процедура авторизации прошла успешно. Отправим запрос ping, и укажем в нем cookie из предыдущего запроса.
Запрос
curl -X POST http://192.168.115.4:9999/system/ping -v -b /tmp/headers
Ответ на запрос
Trying 192.168.115.4:9999... * Connected to 192.168.115.4 (192.168.115.4) port 9999 > POST /system/ping HTTP/1.1 > Host: 192.168.115.4:9999 > User-Agent: curl/8.7.1 > Accept: */* > Cookie: token=md1@ecss1-65695977252755347800515493820210579225 > * Request completely sent off < HTTP/1.1 200 OK < content-length: 0 < content-type: text/xml < date: Fri, 29 Mar 2024 05:47:41 GMT < server: Cowboy
Ключи запроса ping:
- -v - используется для расширенного вывода ответа . Т.к у команды ping нет body в ответе, посмотреть успешность запроса ping мы можем только узнав КОД ответа.
- -b - используется для указания cookie. Может быть прочитан с файла (в предыдущем запросе мы сохранили заголовки ответа в файл) или указан строкой.
Пример запроса без указания файла:
Пример запроса с указанием cookie в строке
curl -X POST http://192.168.115.4:9999/system/ping -v -b "token=md1@ecss1-65695977252755347800515493820210579225"