
Der Funktionsblock HTTP_REQUEST erstellt eine RAW-Abfrage für die HTTP-Schnittstelle.
Wichtig: Die zu sendende Variable von der Schnittstelle HTTP muss den Datentyp RAW besitzen.
Die URI wird als Variable auf der rechten Seite unter Kommunikation definiert. Falls diese mit einem / beginnt, wird das Erste / entfernt. Soll eine Anfrage auf das unterste Verzeichnis erfolgen, kann nur die Variable / definiert werden.
Manche Webserver erfordern den User-Agent-Header. Andernfalls wird die Seite nicht geladen. Dies ist kein Fehler von Antcas Control, sondern ein Schutzmechanismus des angefragten Webbrowsers. Verwenden Sie den Eingang Header mit dem Inhalt:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13
Der Eingang definiert die Methode der Übertragung als Zeichenkette. Diese kann z.B. "GET", "POST", "PUT" o.a. sein. Wird keine Methode definiert, so wird GET als Standard gewählt.
Der Eingang definiert den Header Content-Type als Zeichenkette. Ist der Eingang nicht definiert, so wird der Eintrag nicht zum Header hinzugefügt.
Definiert zusätzliche Header-Einträge als Zeichenkette. Mehrere Header werden mit einem Zeilenumbruch getrennt. Der Header Content-Length wird automatisch definiert und der Header Content-Type wird mit dem Wert am Eingang Type definiert.
Der Eingang definiert das Query als Zeichenkette. Das Query ist der Wert nach dem Fragezeichen und wird üblicherweise bei GET-Anfragen verwendet.
http://server/uri?query
Der Aufbau eines Querys sieht dann so aus:
var1=wert1&var2=wert2&va...
Damit die Werte korrekt übertragen werden können, ist es ratsam, die einzelnen Werte mit dem Funktionsblock URL_ENCODE oder QUERY_ENCODE zu kodieren, da die Daten möglicherweise unvollständig übertragen werden.
Hinweis: Beachten Sie die maximale Länge eines URL's, falls grössere Datenmengen übertragen werden müssen. Verwenden Sie ggf. die POST-Methode und senden das Query als Content.
Der Eingang Content ist ähnlich wie die vom Eingang Query. Jedoch werden die Daten nach dem Header übertragen und es werden grössere Datenmengen unterstützt. Je nach Anwendung kann der Typ von Content auch keine Query-Methode aufweisen.
Hinweis: Es werden nur UTF-8 konforme Daten unterstützt. Beim Übertragen von Binärdaten wird empfohlen, diese mit dem Funktionsblock BASE64_ENCODE zu kodieren.
Der Eingang definiert das Timeout der Anfrage als Uhrzeit im Format T#30s in Sekunden. Es wird empfohlen, ein hohes Timeout zu verwenden. Kleine Werte können dazu führen, dass Anfragen nicht vollständig ausgeführt werden. Durch das Keep-Alive-Verfahren, kann es eine Weile dauern, bis die Anfragen wieder normal verarbeitet werden.
Ist der Eingang wahr, so wird der Wert am Ausgang Request gleich NULL.
Ist der Eingang wahr, so erzwingt dieser das Generieren des Ausgangs Request. Dieser Eingang hat vor dem Eingang DIS Priorität.
Der Ausgang gibt eine Zeichenkette im Format JSON zurück. Falls er deaktiviert wurde, wird der Wert NULL zurückgegeben. Er wird üblicherweise direkt mit der Ausgangsvariable der Schnittstelle verbunden.
Der Ausgang gibt die Länge vom Eingang Content in Bytes zurück.
Gibt die ID der zuletzt erzeugten Abfrage zurück. Diese ist hilfreich, um die Antwort mit dem Funktionsblock HTTP_RESPONSE zu verifizieren.