-
Notifications
You must be signed in to change notification settings - Fork 0
API UO HTTP_Header de
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header
ClassicUO • Runtime API
Liest die letzten HTTP-Antwortheader dieses Skripts, etwa Content-Type; weder Inhalt noch Anfrageheader oder HTTP-Statuscode.
UO.HTTP_Header() -> Any
Keine Parameter.
String: Name: Wert-Zeilen mit CRLF, ohne HTTP-Statuszeile. Vor Anfragen/nach Netzwerkfehlern leer. Reihenfolge/Schreibweise variieren; kein eigener Statuscode-Aufruf.
- Der Antwortpuffer gehört dieser Skript-Runtime. Ihr nächstes GET/POST ersetzt ihn; andere Skripte ändern ihn nicht. Keine Speicherung im Profil. Benötigte alte Antworten vorher in Variablen kopieren.
- GET/POST warten im Skriptthread. Eine Frist von 20 Sekunden umfasst Anfrage und Antwortinhalt. Skriptstopp bricht ab; Body/Header warten nicht. Auch mit File wird der gesamte Inhalt im Speicher gepuffert.
- charset bestimmt die Decodierung, sonst bzw. bei unbekannter Codierung UTF-8. Auch 4xx/5xx-Inhalte werden gelesen. Netzwerkfehler/Timeout melden einen Fehler und leeren Inhalt/Header; Try/Catch ersetzt keine Antwortprüfung. Skriptabbruch wird weitergegeben. Lokale Schreib-/Argumentfehler können abgefangen werden.
- Header umfasst Antwort- und Inhaltsheader, auch nach binärem GET. Namen ohne Beachtung der Großschreibung vergleichen. Content-Type validiert keine Daten; Inhalt nicht als Code ausführen.
Tatsächliche Client-Schritte, keine zusätzlichen Befehle: GET/POST rufen HttpRequest auf; Body/Header lesen nur das Runtime-Ergebnis.
Header umfasst Antwort- und Inhaltsheader, auch nach binärem GET. Namen ohne Beachtung der Großschreibung vergleichen. Content-Type validiert keine Daten; Inhalt nicht als Code ausführen.
String: Name: Wert-Zeilen mit CRLF, ohne HTTP-Statuszeile. Vor Anfragen/nach Netzwerkfehlern leer. Reihenfolge/Schreibweise variieren; kein eigener Statuscode-Aufruf.
Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; Funktion ExecuteClientApiCompatibility.
Tatsächliche Client-Schritte, keine zusätzlichen Befehle: GET/POST rufen HttpRequest auf; Body/Header lesen nur das Runtime-Ergebnis.
# Content-Type lesen
#
# Liest die letzten HTTP-Antwortheader dieses Skripts, etwa Content-Type; weder Inhalt noch
# Anfrageheader oder HTTP-Statuscode.
#
# String: Name: Wert-Zeilen mit CRLF, ohne HTTP-Statuszeile. Vor Anfragen/nach Netzwerkfehlern
# leer. Reihenfolge/Schreibweise variieren; kein eigener Statuscode-Aufruf.
SUB Main()
# ReadHeader sucht einen Namen am Zeilenanfang unabhängig von Großschreibung und trimmt den
# Wert; fehlend ergibt leer.
# example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet
# echte HTTP-Anfragen, aber keine Spielaktionen.
UO.HTTP_Get("https://example.com/basic-status")
Return ReadHeader(UO.HTTP_Header(), "Content-Type")
END SUB
Function ReadHeader(headers, name)
Dim marker = Chr(13) & Chr(10) & LCase(name) & ":"
Dim text = Chr(13) & Chr(10) & headers & Chr(13) & Chr(10)
Dim start = InStr(1, LCase(text), marker)
If start = 0 Then
Return ""
End If
start += Len(marker)
Dim finish = InStr(start, text, Chr(13) & Chr(10))
Return Trim(Mid(text, start, finish - start))
End FunctionErläuterung der Parameter und Ausführung:
- ReadHeader sucht einen Namen am Zeilenanfang unabhängig von Großschreibung und trimmt den Wert; fehlend ergibt leer.
- example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet echte HTTP-Anfragen, aber keine Spielaktionen.
# JSON-Markierung suchen
#
# Liest die letzten HTTP-Antwortheader dieses Skripts, etwa Content-Type; weder Inhalt noch
# Anfrageheader oder HTTP-Statuscode.
#
# String: Name: Wert-Zeilen mit CRLF, ohne HTTP-Statuszeile. Vor Anfragen/nach Netzwerkfehlern
# leer. Reihenfolge/Schreibweise variieren; kein eigener Statuscode-Aufruf.
SUB Main()
# application/json in allen Headern ergibt Boolean, keine Inhaltsprüfung. Für das konkrete Feld
# ReadHeader, für Daten JsonParse nutzen.
# example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet
# echte HTTP-Anfragen, aber keine Spielaktionen.
UO.HTTP_Get("https://example.com/basic-status")
Dim headers = UO.HTTP_Header()
Return InStr(1, LCase(headers), "application/json") > 0
END SUBErläuterung der Parameter und Ausführung:
- application/json in allen Headern ergibt Boolean, keine Inhaltsprüfung. Für das konkrete Feld ReadHeader, für Daten JsonParse nutzen.
- example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet echte HTTP-Anfragen, aber keine Spielaktionen.
# Binärheader lesen
#
# Liest die letzten HTTP-Antwortheader dieses Skripts, etwa Content-Type; weder Inhalt noch
# Anfrageheader oder HTTP-Statuscode.
#
# String: Name: Wert-Zeilen mit CRLF, ohne HTTP-Statuszeile. Vor Anfragen/nach Netzwerkfehlern
# leer. Reihenfolge/Schreibweise variieren; kein eigener Statuscode-Aufruf.
SUB Main()
# Der Stream verhindert keinen Headerzugriff. Inhalt in data, HTTP_Body leer.
# example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet
# echte HTTP-Anfragen, aber keine Spielaktionen.
Dim data = MemoryStream()
Using data
UO.HTTP_Get("https://example.com/route-data.bin", data)
Dim headers = UO.HTTP_Header()
Return headers
End Using
END SUBErläuterung der Parameter und Ausführung:
- Der Stream verhindert keinen Headerzugriff. Inhalt in data, HTTP_Body leer.
- example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet echte HTTP-Anfragen, aber keine Spielaktionen.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь