Skip to content

API UO HTTP_Body de

Codex edited this page Oct 3, 2026 · 1 revision

UO.HTTP_Body

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header

ClassicUO • Runtime API

Liest den letzten HTTP-Antworttext dieses Skripts, etwa für JSON-Einstellungen. Kein neuer Netzwerkzugriff.

Genaue Syntax

UO.HTTP_Body() -> Any

Parameter

Keine Parameter.

Rückgabewert

String: Textpuffer. Vor der ersten Anfrage, nach Stream-GET oder Netzwerkfehler leer; auch HTTP 204 kann regulär leer sein.

Verhalten

  • 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.
  • Body liest nur: keine neue Anfrage, keine Löschung. Nach binärem GET ToArray() oder die Datei verwenden.

Interne Funktionen: vom Aufruf zum Ergebnis

Tatsächliche Client-Schritte, keine zusätzlichen Befehle: GET/POST rufen HttpRequest auf; Body/Header lesen nur das Runtime-Ergebnis.

1. ExecuteClientApiCompatibility

Body liest nur: keine neue Anfrage, keine Löschung. Nach binärem GET ToArray() oder die Datei verwenden.

String: Textpuffer. Vor der ersten Anfrage, nach Stream-GET oder Netzwerkfehler leer; auch HTTP 204 kann regulär leer sein.

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.

Beispiele

Text als Bedingung

# Text als Bedingung
#
# Liest den letzten HTTP-Antworttext dieses Skripts, etwa für JSON-Einstellungen. Kein neuer
# Netzwerkzugriff.
#
# String: Textpuffer. Vor der ersten Anfrage, nach Stream-GET oder Netzwerkfehler leer; auch
# HTTP 204 kann regulär leer sein.

SUB Main()
    # Nur allow ergibt True; andere/leere Antworten False. Keine Bewegung oder Kampfaktion.
    # 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-permission")
    Dim permission = Trim(UO.HTTP_Body())
    Return permission = "allow"
END SUB

Erläuterung der Parameter und Ausführung:

  • Nur allow ergibt True; andere/leere Antworten False. Keine Bewegung oder Kampfaktion.
  • example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet echte HTTP-Anfragen, aber keine Spielaktionen.

Zwei Antworten kombinieren

# Zwei Antworten kombinieren
#
# Liest den letzten HTTP-Antworttext dieses Skripts, etwa für JSON-Einstellungen. Kein neuer
# Netzwerkzugriff.
#
# String: Textpuffer. Vor der ersten Anfrage, nach Stream-GET oder Netzwerkfehler leer; auch
# HTTP 204 kann regulär leer sein.

SUB Main()
    # Routenname vor dem GET der Beschreibung speichern, da dieser den Puffer ersetzt.
    # 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/route-name")
    Dim routeName = UO.HTTP_Body()
    UO.HTTP_Get("https://example.com/route-description")
    Return routeName & ": " & UO.HTTP_Body()
END SUB

Erläuterung der Parameter und Ausführung:

  • Routenname vor dem GET der Beschreibung speichern, da dieser den Puffer ersetzt.
  • example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet echte HTTP-Anfragen, aber keine Spielaktionen.

Bytes und Text unterscheiden

# Bytes und Text unterscheiden
#
# Liest den letzten HTTP-Antworttext dieses Skripts, etwa für JSON-Einstellungen. Kein neuer
# Netzwerkzugriff.
#
# String: Textpuffer. Vor der ersten Anfrage, nach Stream-GET oder Netzwerkfehler leer; auch
# HTTP 204 kann regulär leer sein.

SUB Main()
    # Drei Bytes ergeben 3:, weil HTTP_Body leer ist. data bleibt bis zum Ende von Using verfügbar.
    # 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)
        Return CStr(data.Length()) & ":" & UO.HTTP_Body()
    End Using
END SUB

Erläuterung der Parameter und Ausführung:

  • Drei Bytes ergeben 3:, weil HTTP_Body leer ist. data bleibt bis zum Ende von Using verfügbar.
  • example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet echte HTTP-Anfragen, aber keine Spielaktionen.

Clone this wiki locally