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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Christian S. (solder)


Bewertung
0 lesenswert
nicht 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)


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

Ist es das was du suchst?

von Christian S. (solder)


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

von Christopher B. (chrimbo) Benutzerseite


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.