Pages: [1] 2 3 4   Go Down
Author Topic: Wie bestimmten Wert von einer Webseite auslesen und darstellen ?  (Read 4620 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 194
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Um nicht jedes mal den PC anschalten zu müssen, um einen Temperaturwert eines entfernten Webservers auszulesen, möchte ich einen bestimmten Wert auf einer Website auslesen. Ich selbst habe Zugang zum Server. Die betreffende Zeile im Source-HTML-Text lautet:
<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>
Hier möchte ich gerne den Wert 13,8°, der sich stetig ändert auf dem LCD des Arduino darstellen.
Anbieten würde sich ja das Beispiel "WebClient", nur da geht es schon los. Wie übermittle ich den Benutzernamen und das Passwort und wie komme ich zu den "13,8°" ?
Hat jemand eine Idee oder schon ein ähnliches Projekt gestemmt ? Interessant wäre es auch, wenn man z.B. einen Börsenwert verfolgen möchte.
Jedoch für mich ist im Augenblick die Temperatur wichtiger.

Gruß Gerd
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
sowas ähnliches suche ich auch, um RSS-Feeds einzulesen und die Texte möchte ich auf eine große Led-Laufschrift anzeigen.
z.B von Elektor gibt es eine RSS  Seite mir den neusten Meldungen...
Bernd
Logged

0
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3482
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Schritt 1: http lernen und die entsprechenden Tools. Schau Dir die Webseite mal durch sowas wie Fiddler2 an. D.h. Fiddler2 starten und die Daten per Broswer abholen. Dann siehst Du schon wie das geht.
Logged

Check out my experiments http://blog.blinkenlight.net

Offline Offline
Full Member
***
Karma: 0
Posts: 194
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Udo,
diese Antwort bezieht sich doch auf die Frage von Bernd, löst jedoch nicht mein Problem. Hast du da auch noch was im Petto ?

Gruß Gerd
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 194
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Bernd,
vielleicht kannst du das für dich "umschreiben"

Gruß Gerd
Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 263
Posts: 21583
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 194
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

im Neckartal
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
Quote
Wie kann ich den Usernamen und das Kennwort übermittel ?
Gegenfrage:
Wie nimmt der Webserver die Zugangsdaten entgegen?

Grüßle Bernd
Logged

Theoretisch gibt es keinen Unterschied zwischen Theorie und Praxis ...

Offline Offline
God Member
*****
Karma: 10
Posts: 721
42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
« Last Edit: October 21, 2012, 12:27:48 pm by Marcus W » Logged


Offline Offline
Full Member
***
Karma: 0
Posts: 194
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Newbie
*
Karma: 2
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

Wenn du nicht ewig die Theorie lesen möchtest (AFAIK http://www.faqs.org/rfcs/rfc2617.html#b), dann würde ich einfach mal mit Wireshark schauen, wie dein Browser die Seite abruft.
Das kannste dann ja nachbauen.
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 194
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Bernd,
habe dich ganz übersehen, sorry. Wie du etwas weiter unten siehst, komme ich schon auf den Webserver rauf, jedoch kann ich mich nicht identifizieren, weil ich nicht weiss, wie man User und Passwort übermittelt. Per Webbrowser natürlich nicht das Problem smiley)

Gruß Gerd
Logged

Offline Offline
God Member
*****
Karma: 10
Posts: 721
42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie Holger bereits sagte, lass wireshark mitlaufen und schau, wie es dein Browser macht...
Logged


Offline Offline
Full Member
***
Karma: 0
Posts: 194
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Holger,
wie mein Browser die Webseite aufruft, weis ich. Es kann doch aber wirklich nicht schwierig sein, hier eine "Clientantwort" mit einzubinden, ohne sich mit Theorien zu beschäftigen. Ich bin leider zu blöd, um das alleine zu stemmen.

Gruß Gerd
Logged

Offline Offline
God Member
*****
Karma: 10
Posts: 721
42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://php.net/manual/de/features.http-auth.php
http://forums.phpfreaks.com/topic/56536-htaccess-auth-headers/

da steht, was du als header senden musst.
« Last Edit: October 21, 2012, 01:11:52 pm by Marcus W » Logged


Pages: [1] 2 3 4   Go Up
Jump to: