Перейти к содержанию
  • 0

ip hotspot service-class - error code="7471107" no input


Вопрос

Опубликовано

Всем добра! 

Пытаюсь отправить запрос на смену класса обслуживания

/usr/bin/curl -s --digest --user admin:passwd "http://10.0.0.1/ci" -H "Content-Type: application/xml" --data-binary '
<request id="1">
        <command name="ip hotspot service-class 6">
        <mac>b4:00:cb:fa:cc:aa</mac>
        </command>
</request>'

Выходит ошибка 
<packet>
    <response id="1">
        <error code="7471107" ident="Command::Root" source="" critical="no">no input [http/ci].</error>
    </response>
</packet>
 

Документацию читал, но там не ясно как отправлять аргумент класса

Версия 3.5.6

Снимок.JPG

Рекомендуемые сообщения

  • 1
Опубликовано
17 hours ago, Max Agapov said:

<request id="1">
        <command name="ip hotspot service-class 6">
        <mac>b4:00:cb:fa:cc:aa</mac>
        </command>
</request>

Во-первых, команда называется "ip hotspot host service-class", а не "ip hotspot service-class".

Во-вторых, :facepalm: нужно подправить документацию. "6" — это аргумент с названием "service-class". То есть в /ci надо слать <service-class>6</service-class>.

<request id="1">
   <command name="ip hotspot host service-class">
     <service-class>6</service-class>
     <mac>b4:00:cb:fa:cc:aa</mac>
   </command>
</request>

В-третьих, что более важно, интерфейс /ci будет выходить из обращения, и есть пара более свежих способов.

Современный интерфейс API называется /rci. Но для удобной авторизации в нём нужно добавить прокси.

Включаем прокси

image.png

Делаем доменное имя в виде токена из набора случайных символов.

image.png

Осторожно: мы проксируем запросы на 127.0.0.1:79, где /rci доступен без пароля, поэтому для уверенности можем добавить авторизацию. Она настраивается в командной строке. Создадим пользователя с именем "api" и паролем "---password---".

(config)> ip http proxy emuxev3f-rgn3edfn-pkgc8v9n auth
Http::Proxy: "emuxev3f-rgn3edfn-pkgc8v9n": enabled authentication.

(config)> user api
Core::Authenticator: User "api" has been added.

(config-user)> tag http-proxy
Core::Authenticator: User "api" tagged with "http-proxy".

(config-user)> password ---password---
Core::Authenticator: Password set has been changed for user "api".

(config-user)> exit
Core::Configurator: Done.

(config)> system configuration save
Core::ConfigurationSaver: Saving configuration...

Теперь возвращаемся к задаче про service-class.

/rci/parse

Принимает ввод команды в виде строки. (Строка должна быть в двойных кавычках согласно RFC.)

curl "https://emuxev3f-rgn3edfn-pkgc8v9n.giga4.keenetic.limited/rci/parse" \
	--user "api:---password---" \
	--request POST  \
	--header "Content-Type: application/json" \
	--data-ascii '"ip hotspot host b4:00:cb:fa:cc:aa service-class 6"'

/rci/ip/hotspot/host/service-class

Принимает объект JSON.

curl "https://emuxev3f-rgn3edfn-pkgc8v9n.giga4.keenetic.limited/rci/ip/hotspot/host/service-class" \
  --user "api:---password---" \
  --request POST \
  --header "Content-Type: application/json" \
  --data-ascii '{"mac":"b4:00:cb:fa:cc:aa","service-class":6}'

{
  "status": [
    {
      "status": "message",
      "code": "19008040",
      "ident": "Hotspot::Manager",
      "message": "service class \"6\" applied to host \"b4:00:cb:fa:cc:aa\"."
    }
  ]
}

 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.