Automate - Android | Wie poste ich Variablen per HTTP-Request / Wie kann ich Variablen in die URL einbauen (GET)?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Laut Dokumentation kannst du für den Response content (eine Ausgabevariable) einen Variablennamen setzen, in dem die IP gespeichert werden soll. Diese Variable ist anschließend für folgende Blocks verfügbar.

Wenn du die Variable jedoch zwischen verschiedenen Fibers (eines Flows) oder Flows hin- und herreichen möchtest, brauchst du eine explizite Übergabe. Im ersteren Fall via Variables give / Variables take, im zweiteren Fall müsstest du sie in einer Datenquelle (z.B. einer Datei) zwischenspeichern (File write / File read).

Der Screenshot zu dem Request URL Action Block auf androidaps.readthedocs.io verrät, dass das Feld für die Request URL die Eingabe von Ausdrücken erlaubt, die zur Laufzeit ausgewertet werden. Das heißt, du solltest in dem Feld deine Konkatenation vornehmen können.

"domain.tld/script.php?IP=" ++ yourIpVariable

Für einen POST-Request muss der Variablenwert als Eingabeparameter in das Request content body-Feld eingetragen werden. Setze erst den Content Type, z.B. auf text/plain. Da laut Dokumentation für den Body auch ein Dictionary angegeben werden kann (man sieht es ebenso auf dem Screenshot der oben verlinkten Seite), würde ich das für die Eingabe bevorzugen.

{ "IP" as String: yourIpVariable }

Die explizite Konversion (as String) ist vermutlich überflüssig.

xXxNightmarexXx 
Fragesteller
 29.09.2023, 20:48

Also ich werde nachher nochmal mein Script für die GET Variante überprüfen aber das klappt irgendwie leider nicht. Also wenn ich das so eingebe, wie du es oben geschrieben hast, kommen Fehler bei Automate. Jede andere Variante die ich noch in Automate getestet habe, geht auch nicht.

Die POST Variante hab ich auch in Automate übernommen aber da sagt mir mein Script, dass keine Variable gesetzt wurde. Das Script muss ich aber nochmal auf Richtigkeit prüfen, was die Auslesung der Variablen an geht. Hab das nämlich nur auf die schnelle gemacht.

Schreibe gleich oder die Tage Mal am PC meine Fehler hier rein und schaue dann nochmal in Ruhe drauf.

Aber danke trotzdem schon Mal. Das bringt mich deutlich weiter in die richtige Richtung!

Jetzt weiß ich zumindest schon Mal generell wie das grob zu verwenden ist. Jetzt muss ich nur noch schauen, ob der Fehler an meinem Script liegt und was das für Fehler in Automate sind.

MfG ✌🏼

1
xXxNightmarexXx 
Fragesteller
 10.10.2023, 20:24

Moinsen. Also das mit dem GET hat komischerweise jetzt einfach funktioniert, ohne dass ich was am Script geändert habe. Keine Ahnung warum.

Auf jeden Fall ist das schon Mal ziemlich nice.

Trotzdem wäre mir POST grundsätzlich noch Lieder, da die Daten nicht im URL /Server Log erscheinen.

Da muss ich nochmal nach schauen.

Unter anderem noch warum ich das ganze mache, ist mein Versuch, meine Remote IP auf meinem Server automatisch frei zu schalten, sobald sich diese ändert.

Ich schicke gleich den Link zu einer "neuen" Frage, die Quasi mit dieser im Zusammenhang steht. Evtl kannst du mir da ja auch noch gute Tipps geben oder hast evtl. auch andere Lösungsansätze.

MfG und danke nochmal.

0