Abfrage und Auswertung von Web-Seiten und IP-Geräten
Einführung
Diese Funktion erlaubt das Senden von beliebig strukturierten Daten über eine TCP/IP Verbindung sowie das Auswerten der Antwortdaten. Das Senden und Empfangen ist nicht auf reinen Text (z.B. HTTP-Befehle) beschränkt, sondern ermöglicht auch das Arbeiten mit Binärdaten.

Daten können auf zwei unterschiedliche Arten ausgewertet werden:
- Einfache Auswertung, Auswertung durch Definierung einzelner Datenblöcke.
- Komplexe Auswertung, Auswertung anhand eines regulären Ausdrucks und Zuweisung von Datenblöcken.

Um die Abfrage und Auswertung einer Web-Seite/IP-Gerät anzustossen, gibt es unter Befehle den Befehlstyp "Web-Seite/IP-Gerät auswerten". Auf der Debug-Seite werden im Abschnitt Event-BiDir die letzten Abfragen teilweise protokolliert.
Einsatzzweck
- Steuern externer IP-Geräte und Auswertung der Antwort, z.B. IP-Kameras von Mobotix® oder Sony®.
- Abruf von Web-Seiten und die Auswertung des Inhalts, z.B. von Wetter-Seiten oder zur Anzeige von RSS-Feeds.
- Ansteuerung serieller Geräte via Seriell-IP-Konverter.
Beispiele
- Auswertung einer HTML-Seite
Importieren und Exportieren von Bibliotheken
Mit den Funktionen Importieren und Exportieren können fertige Abfragen als Bibliothek gespeichert und in anderen Projekten wieder verwendet werden. Es besteht die Möglichkeit, einzelne Abfragen oder einen kompletten Ordner samt Unterordner zu exportieren. Enthält eine Bibliothek mehrere Abfragen werden diese immer mit einer maximalen Tiefe von einem Ordner importiert, d. h. es wird maximal ein Ordner angelegt und alle evtl. in weiteren Unterordnern darunter liegenden Abfragen diesem zugeordnet. Alle Abfragen sind dann in diesem Ordner zu finden.

Beim Importieren besteht die Möglichkeit, die IP/Host-Adresse, den IP-Port, Benutzernamen und Passwort für alle Abfragen einzugeben. Hierzu werden die Daten vorgeschlagen, welche in der zu importierenden Bibliothek vom HS-Experten gefunden werden. Alle importierten Elemente werden mit diesen Werten vorbesetzt. Abhängig vom Inhalt der Bibliothek können unterschiedliche Felder aktiv sein. Die Felder Benutzername und Passwort sind bspw. nur in den Fällen aktiv, in denen eine HTTP-Abfrage mit Passwortschutz in der Bibliothek vorhanden ist.

Sollten in der Bibliothek weitere Objekte (z.B. K.-Objekte, Sequenzen, usw.) verwendet werden, muss im Registerreiter "Objekte" eine projektspezifische Umsetzung vorgenommen werden. Hierbei kann man anhand der Objekt-Beschreibung und des Typs erkennen, welche Funktion das Objekt besitzt.
Wichtige Hinweise
Daten
Bezeichnung
Unter diesem Begriff wird die Abfrage/Auswertung im HS/FS-Experten geführt.
IP/Host-Adresse:
Adresse der TCP/IP-Gegenstelle. (Z.B. www.example.com oder 192.168.0.1)
IP-Port:
Portnummer des Dienstes der Gegenstelle.
Verbindung nach bestimmter Anzahl empfangener Daten beenden
Ja: Der HS/FS beendet die Verbindung nach dem Empfangen der im Feld Max. Länge der Antwort angegebenen Anzahl an Zeichen vorzeitig.
Nein: Der HS/FS wartet, bis die Gegenstelle die Verbindung beendet oder die maximal mögliche Größe an Bytes empfangen wurde.
Hinweis: Diese Option empfiehlt sich, wenn die Gegenstelle die Verbindung nicht trennt oder z.B. in einer Web-Seite nur die ersten n-Zeichen von Bedeutung sind und der Rest der Daten verworfen werden kann.
Achtung: Wird diese Option nicht aktiviert, setzt der HS/FS den Wert automatisch auf die maximale Größe von 500.000 Bytes.
Senden
Folgende Möglichkeiten bestehen, um Daten an die Gegenstelle zu senden:
HTTP-Abruf senden
Ruft eine Web-Seite von der Gegenstelle ab. Der HS/FS-Experte erstellt automatisch die passenden Datenblöcke, dabei wird immer ein GET-Befehl generiert.
Hinweis: Auf der Debug-Seite im Abschnitt "Event-BiDir" können die zuletzt gesendeten Telegramme und die jeweils dazugehörige Antwort eingesehen werden.
URL (nur Pfad)
Pfad der Web-Seite (z.B. /wetter.html). Sie können Platzhalter für K-Objekte in die URL integrieren. So können Sie Angaben variabel gestalten. Setzen Sie anstelle eines Wertes die Gruppenadresse eines K-Objekts, umschlossen von geschweiften Klammern, ein.
Beispiel: Um die PLZ aus einem K-Objekt auszulesen, anstatt sie fest anzugeben, schreiben Sie "/meinwetter?plz={100/1}".
Hinweis: Wenn Sie die geschweiften Klammern in Ihrer URL benötigen, anstatt einen Platzhalter angeben zu wollen , verwenden Sie anstelle der Klammern die folgenden HTML-Codes:
- Für '{' (Öffnen) = '{'
- Für '}' (Schliessen) = '}'
URL umwandeln
Ja: Die angegeben URL wird gemäß des HTTP-Standards kodiert. Beispiel: Aus der URL /wetter von gestern.html wird dann /wetter%20von%20gestern.html
Nein: Die Daten werden so, wie sie eingegeben wurden, an den Web-Server gesendet.
Passwortschutz
Ja: Die Web-Seite ist durch einen HTTP-Passwortschutz gesichert.
Nein: Die Web-Seite kann ohne Benutzername und Passwort abgerufen werden.
Benutzername
Benutzername für die Authentifizierung. Nur nötig, wenn die Option Passwortschutz aktiviert ist.
Passwort
Passwort für die Authentifizierung. Nur nötig, wenn die Option Passwortschutz aktiviert ist.
Datenblöcke senden
In dieser Liste können Datenblöcke definiert werden. Die Datenblöcke werden in der definierten Reihenfolge an die Gegenstelle gesendet.
Empfangen (Einfache Auswertung)
Das Ergebnis der gesendeten Anfrage wird in dieser Maske ausgewertet. In dieser Liste werden die zu empfangenden Datenblöcke definiert.
Empfangen (Komplexe Auswertung)
Wenn beim Anlegen ein komplexes Telegramm definiert wurde, ist die Defintion eines regulären Ausdrucks notwendig. Hierfür dient das folgende Feld. Die definierten Datenblöcke sind vom regulären Ausdruck abhängig.
Regulärer Ausdruck
Definiert den regulären Ausdruck, welcher zur Auswertung des Telegramms dient.
Befehle
Im Zusammenhang mit der Auswertung der Antwortdaten können Befehle ausgeführt werden. Hierbei wird unterschieden zwischen erfolgreicher und fehlgeschlagener Auswertung.
Hinweis: Die Befehle für fehlgeschlagene Auswertungen eignen sich besonders als Hinweis auf geänderte Strukturen innerhalb einer Web-Seite.
Hinweis: Bei fehlgeschlagener Verbindung, werden keine Befehle ausgeführt. Zur Fehlersuche steht auf der Debug-Seite die Sektion Event-BiDir zur Verfügung.