Где взять Ejabberd api url и имя хоста - PullRequest
0 голосов
/ 10 января 2019

Я собираюсь разработать приложение для чата, используя ejabberd, используя ReactJs. Я установил ejabberd на наш сервер. Я перешел по документации API по ссылке ниже.

https://docs.ejabberd.im/developer/ejabberd-api/admin-api/#registered-users

Я хочу попробовать любой API в почтальоне перед внедрением. Но я не получил URL API и имя хоста ни от одного документа.

URL-адрес моего сервера ejabberd http://192.168.5.242:5280/admin

Также я хочу использовать https://www.npmjs.com/package/ejabberd. Но там я вижу использование имени хоста.

Я пробовал так много портов вместо 5280. Но у меня не работает.

Ответы [ 2 ]

0 голосов
/ 15 января 2019

В качестве примера вызова я использую этот скрипт php:

<?php
$url='localhost:5282/api/registered_users/';
$login="key";
$password='secret';
$request=null;
$info=array(
            "host"=>"localhost"
           );
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($info));
$output=curl_exec($ch);
curl_close($ch);
print_r($output);
?>

Это результат запроса:

$ php test.php 
["user1","user2"]

Обнюхивая сетевой трафик, это запрос:

POST /api/registered_users/ HTTP/1.1
Host: localhost:5282
Accept: */*
Content-Length: 20
Content-Type: application/x-www-form-urlencoded

{"host":"localhost"}

и это ответ:

HTTP/1.1 200 OK
Content-Length: 17
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Content-Type, Authorization, X-Admin

["user1","user2"]
0 голосов
/ 11 января 2019

Но я не получил URL API и имя хоста ни из одного документа.

Вы определяете номер порта в файле конфигурации ejabberd, в разделе 'listen'. Например, в моем случае я использую 5282 для mod_http_api, а путь / api:

  -
    port: 5282
    module: ejabberd_http
    request_handlers:
      "/api": mod_http_api
      "/bosh": mod_bosh
      "/oauth": ejabberd_oauth
      "/rest": mod_rest

URL-адрес администратора моего сервера ejabberd: http://192.168.5.242:5280/admin

Тогда, если вы добавите строки, которые у меня есть, ваш URL для mod_http_api будет http://192.168.5.242:5282/api

...