Zugriff auf die von EMQX bereitgestellte API-Schnittstelle
Referenz
Offizielle Website HTTP API HTTP-ProtokollErstellen Sie eine Anwendung und geben Sie den Autorisierungscode an
Melden Sie sich beim Textverwaltungsterminal von EMQX an. Wenn keine Änderungen vorgenommen wurden, sollte die Adresse des Verwaltungsterminals Port 18083 der Server-IP sein. Nachdem Sie sich erfolgreich beim WEB-Verwaltungsterminal angemeldet haben, klicken Sie nacheinander auf "Allgemein" und "Anwendung". Wir erstellen zunächst eine neue APP, die ID und der Name der APP können nach Belieben eingegeben werden, die Statusauswahl ermöglicht den Zugriff und das Ablaufdatum wird entsprechend den tatsächlichen Anforderungen ausgewählt. Löschen Sie nach erfolgreicher Erstellung die EMQX-Standardanwendung, da sonst Sicherheitsrisiken bestehen. Wir müssen auch das Standard-APP-Konto und die Schlüsselkonfiguration in /etc/emqx/plugins/emqx_management.conf auskommentieren, da sonst die Standard-APP nach dem Neustart des EMQX-Dienstes neu erstellt wird. Dann kehren wir zur Seite mit der Anwendungsliste zurück und klicken im Vorgang auf Anzeigen, um die gerade erstellte Anwendung anzuzeigen. In den detaillierten Informationen sehen wir den APP-Schlüssel.
Testzugriffs-API-Schnittstelle
Nachdem wir den APP-Schlüssel erhalten haben, können wir HTTP-Anforderungen verwenden, um auf die API-Schnittstelle zuzugreifen. Es ist wichtig zu beachten, dass wir Autorisierungsinformationen in die Kopfzeile einfügen müssen. Einzelheiten finden Sie im folgenden Beispiel. Definitionen anderer Schnittstellen finden Sie in der offiziellen Referenz oben im Artikel. In den folgenden beiden Absätzen von Beispielen ist der erste Absatz eine direkte CURL-Anforderung in der Linux-Befehlszeile und der zweite Absatz eine Anforderung unter Verwendung von 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;