Я пытаюсь сделать некоторые запросы отдыха (без 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
.
Я не могу генерировать токен, борющийся в этом почти 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 –
Попробуйте реализовать этот [ответ] (http: // stackoverflow.ком/вопросы/37064337/как к доступу-ejabberd-админ-апи-через-HTTP/37112116 # 37112116). –