Toegang krijgen tot de API-interface van EMQX

Referentie

Officiële website HTTP API HTTP-protocol

Maak een applicatie en specificeer de autorisatiecode

Log in op de tekstbeheerterminal van EMQX Als er geen wijzigingen zijn aangebracht, moet het adres van de beheerterminal poort 18083 van het server-IP zijn. Na het succesvol inloggen op de WEB-beheerterminal, klikt u beurtelings op "Algemeen" en "Applicatie". We maken eerst een nieuwe APP, de ID en naam van de APP kunnen naar believen worden ingevoerd, de statusselectie geeft toegang en de vervaldatum wordt geselecteerd op basis van de werkelijke behoeften. Nadat het maken is gelukt, verwijdert u de standaard EMQX-applicatie, anders zijn er beveiligingsrisico's. We moeten ook commentaar geven op het standaard APP-account en de sleutelconfiguratie in /etc/emqx/plugins/emqx_management.conf, anders wordt de standaard APP opnieuw gemaakt na het herstarten van de EMQX-service. Vervolgens gaan we terug naar de lijst met applicaties en klikken op View in de bewerking om de applicatie te bekijken die we zojuist hebben gemaakt. In de gedetailleerde informatie kunnen we de APP-sleutel zien.

Test de API-interface voor toegang

Nadat we de APP-sleutel hebben ontvangen, kunnen we HTTP-verzoeken gebruiken om toegang te krijgen tot de API-interface. Het is belangrijk op te merken dat we autorisatiegegevens moeten toevoegen in de koptekst. Raadpleeg het volgende voorbeeld voor meer informatie. Voor definities van andere interfaces verwijzen wij u naar de officiële referentie bovenaan het artikel. In de volgende twee alinea's met voorbeelden is de eerste alinea een direct CURL-verzoek in de Linux-opdrachtregel en de tweede alinea is een verzoek met PHP-code.

            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;