如何訪問EMQX提供的API接口
參考資料
官方網站 HTTP API HTTP協議創建應用並指定授權碼
登錄EMQX的文本管理端,如果未做過任何更改,管理端的地址應該是服務器IP的18083端口。成功登錄WEB管理端后依次點開"通用","應用"。我們首先新建一個APP,APP的ID和名稱可以隨意輸入,狀態選擇允許訪問,到期日期根據實際需要進行選擇。創建成功後把EMQX默認的應用刪除,否則會有安全隱患。我們還需要把/etc/emqx/plugins/emqx_management.conf中默認APP帳號和密鑰的配置註釋掉,否則重啟EMQX服務後默認APP會被重新創建。然後我們回到應用列表頁面,在操作中點擊查看,查看我們剛剛創建的應用,在詳細信息中我們可以看到APP密鑰。
測試訪問API接口
我們得到了APP密鑰後就可以使用HTTP請求來訪問API接口了。需要特別注意的是我們在Header中需要加入授權信息,具體可以參考下面的示例。其他接口的定義請參考文章頂部的官方參考資料。下面兩段示例中,第一段是在Linux命令行中直接用CURL請求,第二段是使用PHP代碼請求。
curl -i --basic -u app_id:app_key-X GET "http://localhost:8081/api/v4/nodes"
$app_id = 'app_id';
$app_key = 'app_key';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Basic '.base64_encode($app_id.':'.$app_key)]);
$result = curl_exec($ch);
curl_close($ch);
echo $result;