Navigation: CL-Studio Software > Die Programmierung des Systems > Anweisungen >

GETSITE

 

 

 

 

 

GETSITE

 

Syntax :

GETSITE(Webseite,Port,Zielvariable)

 

Mit dieser Anweisung können beliebige Webseiten von einem Webserver aus dem lokalen Netzwerk oder aus dem Internet eingelesen werden indem ein http-Request erzeugt wird.

Als erster Parameter wird die aufzurufende Seite angegeben, falls ein anderer als der Standardport (80 bei http, 443 bei https) verwendet wird, kann dieser mit einem Doppelpunkt hinter der Adresse oder als zweiter Parameter der Anweisung angegeben werden. Falls der Port mit einem Doppelunkt hinter Adresse angegeben wird, wird der zweite Parameter ignoriert.

Falls https-Seiten aufgerufen werden, muss der Seitenname mit den Zeichen "https://" beginnen.

Als zweiter Parameter wird der Port angegeben. Wenn die Standardports verwendet werden kann hier 0 eingesetzt werden, es wird dann automatisch der richtige Port benutzt.

Wenn der Port mit einem Doppelunkt hinter dem Servernamen angegeben wird, wird der zweite Parameter ignoriert.

Als dritter Parameter wird die Variable oder das Objekt angegeben, in dem der Seitenquelltext empfangen wird. Diese Variable bzw. das Objekt muss vom Typ Zeichen sein.

 

Bitte beachten Sie, dass die einzulesenden Daten der Webseite eventuell sehr gross sein können. Die Ausführung des Befehls kann daher länger dauern und einiges an Ressourcen brauchen. Achten Sie daher darauf, dass die Seiten, die aufgerufen werden möglichst nicht zu gross sind. Die maximale Grösse, die in der Zielvariablen gespeichert wird ist abhängig von der verwendeten Hardware.

 

Die Ausführung dieses Befehls kann je nach Grösse der Seite einige Sekunden dauern. Die Ausführung dieser Anweisung wird im Hintergrund durchgeführt. Während das passiert werden andere Makros weiter ausgeführt. Nachdem die Seite in der angegebenen Variablen gespeichert wurde wird die Ausführung des aktuellen Makros fortgesetzt.

 

Beispiele:

GetSite("www.meine.seite.de/html/CCUSeite.html",0,Webseitentext)

 

GetSite("www.meine.seite.de/html/CCUSeite.html",8081,Webseitentext)

GetSite("www.meine.seite.de:8081/html/CCUSeite.html",0,Webseitentext)

 

GetSite("https://meine.spezielleseite.de/html/Seite1.html",0,Webseitentext)

 

Bitte beachten Sie:

Die Anweisung GETSITE eröffnet einen separaten Thread im Hintergrund, damit das Warten auf eine Internetseite die übrige Ausführung nicht behindert und Zeitverzögrungen vermieden werden.

Die Verwaltung der Threads geschieht automatisch durch das Betriebssystem und beansprucht einige Ressourcen. Daher sollte diese Anweisung nur sparsam und mit möglichst grossem Zeitabstand verwendet werden.

Je nach Zentralenhardware, Ressourcenauslastung und individueller Umgebung kann es evenuell sein, dass es bei ständiger Ausführung der Anweisung in kürzeren Zeitabstände zu Problemen kommt.

Wir empfehlen diese Anweisung nur sparsam einzusetzen und bei ständiger Verwendung mindestens 30 Sekunden Abstand zwischen den Aufrufen einzuhalten.

 

 

Auf vielfachen Wunsch gibt es noch eine spezielle Option der GETSITE-Anweisung zur Ansteuerung spezieller Geräte über http-Requests. Bei dieser Option wird nur die http-Anfrage  gesendet und unmittelbar danach die Netzwerkverbindung zum Server geschlossen - ohne auf eine Antwort zu warten.

Diese Option entspricht nicht den Spezifikationen zur Kommunikation mit einem Webserver und kann beim Server zu Fehlfunktionen führen !!

Diese Option ist nur als Ausnahme zum Ansprechen spezieller Geräte gedacht, bei denen der Webserver keine korrekte Antwort generiert oder diese zu lange dauert, und sollte nur in speziellen Ausnahmefällen verwendet werden. Im Normalfall führt die Verwendung dieser Option zu Fehlfunktionen beim Server.

Um eine solche spezielle http-Anfrage abzusetzen wird einfach der Parameter "Zielvariable" weggelassen, da ja nicht auf eine Antwort gewartet wird.

Bei dieser Option muss der Port als Parameter 2 angegeben werden, die Angabe des Ports mit Doppelpunkt hinter dem Servernamen funktioniert hier nicht.

Die Option kann nur mit einfachen http://-Abfragen verwendet werden - https-Abfragen sind nicht möglich.

 

Beispiel:

GetSite("MeinSpeziellesGeraet/Pfad/Seite?Parameter",81)

 

 

 

 

 

 

Copyright © 2023 CL-control