2016-03-26 4 views
1

Я пытаюсь сделать некоторые запросы отдыха (без OAuth), но ответ ejabberd всегда "HTTP/1.1 400 Bad Request"ejabberd запрос mod_http_api остальное

Вот деталь:

ejabberd версия: 16,02

конфигурации ejabberd

port: 5280 
    ip: "::" 
    module: ejabberd_http 
    request_handlers: 
     ##"/websocket": ejabberd_http_ws 
     ##"/oauth": ejabberd_oauth 
     "/api": mod_http_api 
    ## "/pub/archive": mod_http_fileserver 
    web_admin: true 
    http_bind: true 
    http_poll: true 
    ## register: true 
    captcha: false 
    commands_admin_access: configure 
    commands: 
     - add_commands: user 
    oauth_expire: 3600 
    oauth_access: all 

Запрос

curl -v -X POST -H "X-Admin: true" -H "Authorization: Basic YWRtaW5AcHJqLmlvOmFkbWlu" -H "Content-Type:application/json" http://prj.io:5280/api/status -d '{}' 

Журналы

2016-03-26 04:38:04.711 [debug] <0.490.0>@ejabberd_http:process_header:281 (#Port<0.16265>) http query: 'POST' <<"/api/status">> 
2016-03-26 04:38:04.711 [debug] <0.490.0>@ejabberd_http:extract_path_query:395 client data: <<"{}">> 
2016-03-26 04:38:04.711 [debug] <0.490.0>@ejabberd_http:process:353 [<<"api">>,<<"status">>] matches [<<"api">>] 
2016-03-26 04:38:04.711 [info] <0.490.0>@mod_http_api:log:388 Admin call status [] from ::FFFF:192.168.117.1:53583 

Пожалуйста, помогите мне понять поведение ejabberd и способа размещать некоторые запросы mod_http_api.

+1

Я не могу генерировать токен, борющийся в этом почти 3 дня, и я новичок в ejabbberd, это конфигурация, которую я использую. порт: 5280 модуль: ejabberd_http request_handlers: "/ WebSocket": ejabberd_http_ws # OAuth Поддержка "/ OAuth": ejabberd_oauth # ReST API: "/ апи": mod_http_api ## «/ паб/архив «: mod_http_fileserver web_admin: истинный http_bind: истинный регистр: истинный CAPTCHA, ложь \t commands_admin_access: настроить команды: - add_commands: пользователь oauth_expire: 3600 oauth_access: all –

+0

Попробуйте реализовать этот [ответ] (http: // stackoverflow.ком/вопросы/37064337/как к доступу-ejabberd-админ-апи-через-HTTP/37112116 # 37112116). –

ответ

0

попробовать ниже ...

 
commands_admin_access: configure 
commands: 
    - add_commands: 
    - status 
0

В Запрос вы дали,

curl -v -X POST -H "X-Admin: true" -H "Authorization: Basic YWRtaW5AcHJqLmlvOmFkbWlu" -H "Content-Type:application/json" http://prj.io:5280/api/status -d '{}'.

Там нет такой конечной точки статуса

Выполните одно из следующих действий, как вы конечная точки,

  1. num_active_users - Количество активных пользователей в последние дни
  2. status_num_host - Количество вошедшего данных о статусе пользователя
  3. status_num - Число зарегистрированных пользователей с данным статусом
  4. Стадион ц - получить статистическую стоимость: зарегистрированных пользователей, онлайн-пользователей, онлайн-пользователей узла, работоспособного секунд stats_host - получить статистическую стоимость на хозяевах: зарегистрированных пользователей интернет-пользователей, онлайн-пользователей узла, время работы секунд
Смежные вопросы