...
- Befehl bei EIN muss die URL enthalten ohne den Hostnamen, deswegen nur
/api/v1/runactivity
. - In HTTP-Post-Befehl bei EIN werden die Daten übernommen. Im curl-Befehl ist der String, der gesendet wird, mit einfachen Anführungszeichen (') eingeschlossen. Diese Anführungszeichen dürfen nicht übernommen werden. Ebensowenig die Befehlsparameter von curl, also kein
-d
und kein-X POST
. - HTTP-Methode bei EIN wird auf POST gesetzt.
Die Rückgabewerte des Aufrufs können nicht in Loxone weiterverwendet werden. Das heißt in dem Beispiel, die Antwort "status" : "success"
kann nicht verarbeitet werden. Loxone bietet keine bidirektionale Kommunikation.
POST und GET Testscript für PHP
Das Script zeigt die eingehenden POST- und GET-Variablen an, und kann z.B. am LoxBerry eingesetzt werden, um zu sehen, was der Miniserver sendet.
Erstelle am LoxBerry dieses Script als /opt/loxberry/webfrontend/legacy/post.php
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
<?php echo "------" . date("H:i:s") . "-----<br>"; $outstr = "-----" . date("H:i:s") . "-----\n"; $post = file_get_contents('php://input'); echo "POST: " . $post . "<br>"; $outstr .= "POST: " . $post . "\n"; $get = print_r($_GET, true); echo "GET: " . $get . "<br>"; $outstr .= "GET: " . $get . "\n"; file_put_contents ( "/tmp/post.txt", $outstr, FILE_APPEND ); ?> |
Die Datei als Download: post.php
Über den Webbrowser kann das Script dann aufgerufen werden mit http://loxberry/legacy/post.php
Es erzeugt eine Datei /tmp/post.txt. Mit diesem Shellbefehl kannst du mitschauen, was in der Datei passiert:
tail -f /tmp/post.txt
Die Ausgabe sieht dann so aus:
Der erste Aufruf wurde aus dem Webbrowser mit Query-Parameter post.php?browser=test durchgeführt.
Die beiden weiteren Aufrufe kommen vom Miniserver mit POST-Daten