Abfrage und Auswertung von Web-Seiten und IP-Geräten
Inhalt
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:
Um die Abfrage und Auswertung einer Web-Seite/IP-Gerät anzustoßen, 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. Siehe dazu auch das Kapitel Wichtige Hinweise.

1.Einsatzzweck

  • Steuern externer IP-Geräte und Auswertung der Antwort
  • 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.

1.2.Importieren und Exportieren von Bibliotheken

Mit den Funktionen Bibliothek -> Bibliothek importieren (Rechtsklick auf dem Root-Element in der Baumansicht, links) und Bibliothek -> Bibliothek exportieren (Rechtsklick auf einem Element in der Baumansicht, links) 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, die in der zu importierenden Bibliothek vom HS/FS-Experte 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.

1.3.Wichtige Hinweise

Der HS/FS kann Daten bis zu einer maximalen Größe von 500.000 Bytes empfangen und auswerten. Daten außerhalb dieses Bereichs können nicht verwertet werden.

Zum Testen einer Web-Abfrage liefert die Debug-Seite Informationen. In der Sektion Event-BiDir werden alle durchgeführten Abfragen/Auswertungen mit folgenden Informationen aufgelistet:
  • Datum und Uhrzeit der Abfrage (Host IP-Adresse) (Host IP-Port)
  • Send: Die Anzahl der gesendeten Zeichen, inkl. Anzeige der ersten Zeichen als Hex-Werte, danach in Klartext (ASCII-Werte)
  • Recv: Die Anzahl der empfangenen Daten, inkl. Anzeige der ersten Zeichen als Hex-Werte, danach in Klartext (ASCII-Werte)
  • Gesamt: Die Anzahl der definierten Datenblöcke
  • Work: Die Anzahl der verarbeiteten Datenblöcke.
  • Typ:
    - Liste: einfache Auswertung wurde projektiert
    - RegExp: komplexe Auswertung wurde projektiert
  • OK:
    - 1 = Auswertung erfolgreich
    - 0 = Auswertung fehlgeschlagen.

2.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.

Telegramm-Typ

Es gibt zwei Auswahl-Möglichkeiten:
  • TCP: Die Verbindung über den oben angegebenen Port erfordert eine Verbindung über das TCP-Protokoll.
  • TCP/TLS: Die Verbindung über den oben angegebenen Port erfordert eine verschlüsselte Verbindung gemäß dem TLSv1.2-Protokoll.
    Hinweis
    Diese Einstellung ist unabhängig von der Projekt-Einstellung zur Sicherheit!
Der Standard-Wert ist TCP.

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.

3.Senden

Folgende Möglichkeiten bestehen, um Daten an die Gegenstelle zu senden:
  • HTTP-Abruf senden
  • Datenblöcke 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
Wurde als Telegramm-Typ "TCP/TLS" gewählt, wird eine verschlüsselte Verbindung (HTTPS) verwendet.

Auf der Debug-Seite im Abschnitt "Event-BiDir" können die zuletzt gesendeten Telegramme und die jeweils dazugehörige Antwort eingesehen werden. Siehe dazu auch das Kapitel Wichtige Hinweise.

URL (nur Pfad)

Pfad der Web-Seite (z.B. /countries.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 das Land aus dem K-Objekt mit der Gruppenadresse 100/1 auszulesen, anstatt es fest anzugeben, schreiben Sie "/countries?name={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 angegebene URL wird gemäß des HTTP-Standards kodiert.
Beispiel: Aus der URL /tic tac toe.html wird dann /tic%20tac%20toe.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.

3.1.Datenblöcke senden

In dieser Liste können Datenblöcke definiert werden. Die Datenblöcke werden in der definierten Reihenfolge an die Gegenstelle gesendet.

4.Empfangen

Je nachdem, ob eine einfache, oder komplexe Auswertung vorgenommen werden soll, unterscheiden sich die möglichen folgenden Angaben:

4.1.Empfangen (Einfache Auswertung)

Das Ergebnis der gesendeten Anfrage wird in dieser Maske ausgewertet. In dieser Liste werden die zu empfangenden Datenblöcke definiert.

4.2.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.

5.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.

Bei fehlgeschlagener Verbindung, werden keine Befehle ausgeführt. Zur Fehlersuche steht auf der Debug-Seite die Sektion Event-BiDir zur Verfügung. Siehe dazu auch das Kapitel Wichtige Hinweise.