HTTP

Die HTTP-Schnittstelle ermöglicht es, Telegramme per URL zu senden und zu empfangen.

Info: Die Schnittstelle synchronisiert automatisch mit dem langsamsten Zyklus der zugeordneten SPS. Die Telegramme werden vom System gepuffert, sodass kein Telegramm verloren geht.

Funktionsweise

Achtung: Wird ein ausgehendes Port bei einem Client gewählt, so muss gewartet werden, bis die Verbindung geschlossen wurde. Es wird daher empfohlen, den Port auf dem Standardwert 0 zu belassen.

Die URL wird dabei so aufgebaut:

http://url:port/variable?wert

Mit dem Funktionsblock HTTP_REQUEST können mehr Details und anderen Methoden gesendet werden. Wählen Sie dazu den Datentyp RAW zum Senden.

Tipp: Ein vollständiges Beispiel ist hier zu finden.

Variable Inhalt
method HTTP-Methode (GET, POST, PUT, DELETE usw.)
query URL-Parameter nach dem ?
header Header als Array
content POST/PUT-Inhalt
timeout Sende-Timeout (Standard 300 Sekunden)
source Quelle: SEND=Senden, RESP=Antwort, RECV=Empfangen

Die Antwort des Requests kommt via $RESPONSE als Zeichenkette.

Hinweis: Beachten Sie die Sicherheit der Schnittstelle. Die Daten sollten nie direkt übers Internet übertragen werden. Hier fehlen die Authentifizierung und die Verschlüsselung via SSL oder TLS.

Schelles Senden

Normalerweise werde ältere Telegramme bei schnell aufeinander folgenden Anfragen verworfen. Falls dies nicht gewünscht wird, kann ein ! vor der URL hinzugefügt werden, um jede Anfrage nacheinander auszuführen.

Unterstützte Technologien

Die HTTP-Schnittstelle unterstützt sowohl einen HTTP-Client als auch einen HTTP-Server.

Typen Protokolle Version
Client HTTP, HTTPS HTTP/1.1, HTTP/2 (ab Core 2)
Server HTTP, HTTPS (ab Core 2) HTTP/1.1, HTTP/2 (ab Core 2)

Für eingehende HTTP-Anfragen werden ausschliesslich textbasierte Inhalte unterstützt, die in UTF-8 kodiert sind. Die Übertragung von Binärdaten wird nicht unterstützt. Sollen Binärdaten übertragen werden, wird die Kodierung mit BASE64 empfohlen. Dadurch können Binärdaten zuverlässig als Text übertragen werden. Beachten Sie jedoch, dass sich die Datenmenge durch die BASE64-Kodierung um rund 33 % erhöht.

Hinweis: Der HTTPS-Server steht ab Core 2 zur Verfügung.