Go Down

Topic: Wie bestimmten Wert von einer Webseite auslesen und darstellen ? (Read 5 times) previous topic - next topic

uwefed

Hallo Gerd

Das was Du uns zitiert hast ist eine Zeile einer Tabelle.
<tr>
   <td>Sensor 6</td>
   <td>Nebengebaeude</td>
   <td align="right">13,8</td>
   <td align="left">&deg;C</td>
   <td>13,6 / 13,8</td>
</tr>

Am einfachsten Du suchst nach dem String "Sensor 6" und liest dann die Zeichen nach x Zeichen aus (offset 45 bis zum Position des ersten Zeichens der Temperatur) und dann  alle Zeichen einlesen bis ein < kommt.

Grüße Uwe

COOL

Hallo Uwe,
das ist richtig, ich will einen Temperaturwert einer Tabelle aus einer HTML-Seite auslesen und habe hier nur die Zeile im Sourcecode dargestellt. Aber so weit komme ich garnicht, um hier ein wenig zu experimentieren. Als Ansatz wollte ich das Ethernetbeispiel (WebClient) nehmen, aber wie zuvor erwähnt hapert es an der Identifizierung, weil der Webserver Passwort geschützt ist.
In dem Beispiel wird eine IP verwendet. Ich könnte die Website auch als IP darstellen, jedoch könnte ich nicht wie hier im Beispiel "http://user:passwort@web-adresse.de" den User und das Passwort übermitteln. Wie kann ich den Usernamen und das Kennwort übermittel ?

Gruß Gerd

BerndJM

Hi,
Quote
Wie kann ich den Usernamen und das Kennwort übermittel ?

Gegenfrage:
Wie nimmt der Webserver die Zugangsdaten entgegen?

Grüßle Bernd
Theoretisch gibt es keinen Unterschied zwischen Theorie und Praxis ...

Marcus W

#8
Oct 21, 2012, 07:26 pm Last Edit: Oct 21, 2012, 07:27 pm by Marcus W Reason: 1
Wenn die Benutzerauthentifikation über htaccess abläuft, hast du schlechte chancen, da der Useragent die Art der Anmeldung (User:Passwort@domain) unterstützen muss - was der Arduino anscheinend nicht tut. Hier hilft dann nur noch eine eventuelle Headermanipulation. Wenn sie Datenbank- bzw. Programmgestützt ist, könnte man eventuell über eine bestehende API bzw. über einen GET-Request der die Formulardaten interpretiert arbeiten.

von welcher Seite möchtest du den etwas auslesen?

COOL

Hallo Marcus,
die "User:Passwort@domain"- Variante habe ich mir auch schon abgeschminkt. Aber bei einem einfachen Test, z.B.
Quote
if (client.connect(server, 80)) {
    Serial.println("connected");
    // Make a HTTP request:
    client.println("GET /search?q=Sensor 6 HTTP/1.0");
    client.println();
  }

bekomme ich als Antwort:

connecting...
connected
HTTP/1.0 401 Unauthorized
Server: AVR_WEB_Switch
WWW-Authenticate: Basic realm="NeedPassword"
Content-Type: text/html

401 Unauthorized
disconnecting.

Eigentlich schon klar, weil die User- und Passwortabfrage nicht mit eingebunden war, aber wie mache ich das ??

Gruß
Gerd

Go Up