Forum: Mikrocontroller und Digitale Elektronik Webserver auf ESP8266 - URL-Argumente prüfen


von Christian S. (solder)


Lesenswert?

Hallo,

ich habe herausgefunden, dass man mit
1
 String a = server->arg("argument")

ein Argument übernehmen kann, das an die Url angehängt wurde. Ich habe 
aber keine Ahnung, wie ich überprüfen kann, ob es überhaupt vorhanden 
ist. (Ich möchte verschiedene Argumente kombinieren, sie können aber 
auch fehlen) a.size() funktioniert nicht, da es in der class String kein 
member size gibt. strlen(a) geht nicht für Strings, nur für char.

Bin kein C oder C++ Experte. Wenn die Lösungen aus dem Internet nicht 
weiterhelfen, habe ich ein Problem. Welche Lösung könnte noch gehen? Ich 
nehme die Arduino IDE.

von shs (Gast)


Lesenswert?

1
if (a.length() == 0){
2
   // Arg gibts nicht
3
}

Ist es das was du suchst?

von Christian S. (solder)


Lesenswert?

Klingt gut. Ich werde das heute Abend mal prüfen, ob es tut, wie es 
soll.

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Wenn ich das richtig verstanden habe liefert
server->args() die Anzahl an argumenten
server->argName(0) den Namen des ersten Arguments, bei dir "argument" 
und
server->arg(0) den Wert des Arguments, bei dir "a"

LG

von Christian S. (solder)


Lesenswert?

Danke, so genau wusste ich das noch nicht (hätte ich bestimmt irgendwo 
googeln können). Ich hatte ein Beispiel. Da wurde mit 2 bekannten 
Argumenten gearbeitet und über den Namen dann gleich der Wert 
ausgelesen. Meine bekannten Argumente sind auch nur wenige, so dass ich 
die einfach hintereinander austeste. (Ansonsten könnte man es in einer 
Schleife machen.) Der Vorschlag von shs war diesbezüglich richtig. Es 
funktioniert so.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.