-
Notifications
You must be signed in to change notification settings - Fork 0
API UO HTTP_Get de
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header
ClassicUO • Runtime API
Lädt Einstellungen oder Dateien über HTTP/HTTPS. Führt den Inhalt nicht aus und steuert keine Spielverbindung.
UO.HTTP_Get(URL:Any) -> Unit
UO.HTTP_Get(URL:Any, LStream:Any) -> Unit
-
URL— Erforderlicher String: vollständige http://- oder https://-Adresse. Normale Netzwerkverbindung des Prozesses, nicht der Spielproxy des Profils; keine Spielverbindung nötig. -
LStream— Optional MemoryStream() oder File(path). Weglassen, 0 oder Nothing: Text über HTTP_Body(). Bytes ersetzen den gesamten Stream; MemoryStream beginnt danach bei 0. File überschreibt die Datei; der Ordner muss existieren. Andere Typen werden vor der Anfrage abgelehnt.
Unit: kein Wert, kein Boolean, keine ID oder Byteanzahl. Text mit HTTP_Body(), Bytes aus dem Stream lesen.
- 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.
- GET ohne Stream speichert Text/Header; mit Stream Bytes/Header und leert HTTP_Body. Auch leere Antworten/Netzwerkfehler leeren den Stream. Wichtige Dateien zuerst im Speicher laden und validieren.
Tatsächliche Client-Schritte, keine zusätzlichen Befehle: GET/POST rufen HttpRequest auf; Body/Header lesen nur das Runtime-Ergebnis.
GET ohne Stream speichert Text/Header; mit Stream Bytes/Header und leert HTTP_Body. Auch leere Antworten/Netzwerkfehler leeren den Stream. Wichtige Dateien zuerst im Speicher laden und validieren.
Unit: kein Wert, kein Boolean, keine ID oder Byteanzahl. Text mit HTTP_Body(), Bytes aus dem Stream lesen.
Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; Funktion ExecuteClientApiCompatibility.
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.
Projektquelle: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; Funktion HttpRequest.
Tatsächliche Client-Schritte, keine zusätzlichen Befehle: GET/POST rufen HttpRequest auf; Body/Header lesen nur das Runtime-Ergebnis.
# Manaschwelle laden
#
# Lädt Einstellungen oder Dateien über HTTP/HTTPS. Führt den Inhalt nicht aus und steuert keine
# Spielverbindung.
#
# Unit: kein Wert, kein Boolean, keine ID oder Byteanzahl. Text mit HTTP_Body(), Bytes aus dem
# Stream lesen.
SUB Main()
# JSON-Objekt minMana: Zahl 0..100 wird Integer, sonst 30. Eine Skripteinstellung, nicht
# aktuelles Mana.
# 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-config.json")
Try
Dim config = JsonParse(UO.HTTP_Body())
Dim threshold = config.Get("minMana", 30)
If IsNumeric(threshold) Then
If threshold >= 0 AndAlso threshold <= 100 Then
Return CInt(threshold)
End If
End If
Catch problem
End Try
Return 30
END SUBErläuterung der Parameter und Ausführung:
- JSON-Objekt minMana: Zahl 0..100 wird Integer, sonst 30. Eine Skripteinstellung, nicht aktuelles Mana.
- example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet echte HTTP-Anfragen, aber keine Spielaktionen.
# Bytes vor dem Speichern prüfen
#
# Lädt Einstellungen oder Dateien über HTTP/HTTPS. Führt den Inhalt nicht aus und steuert keine
# Spielverbindung.
#
# Unit: kein Wert, kein Boolean, keine ID oder Byteanzahl. Text mit HTTP_Body(), Bytes aus dem
# Stream lesen.
SUB Main()
# Nur nichtleere Daten überschreiben download.bin im Arbeitsordner. True bestätigt keinen
# Dateityp; Inhalt zusätzlich validieren.
# 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)
If data.Length() = 0 Then
Return False
End If
data.SaveToFile("download.bin")
Return True
End Using
END SUBErläuterung der Parameter und Ausführung:
- Nur nichtleere Daten überschreiben download.bin im Arbeitsordner. True bestätigt keinen Dateityp; Inhalt zusätzlich validieren.
- example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet echte HTTP-Anfragen, aber keine Spielaktionen.
# Direkt in Datei schreiben
#
# Lädt Einstellungen oder Dateien über HTTP/HTTPS. Führt den Inhalt nicht aus und steuert keine
# Spielverbindung.
#
# Unit: kein Wert, kein Boolean, keine ID oder Byteanzahl. Text mit HTTP_Body(), Bytes aus dem
# Stream lesen.
SUB Main()
# http-download.bin im Arbeitsordner wird auch mit leerem Inhalt überschrieben. Using gibt das
# Objekt frei; zurück kommen die Header.
# example.com stellt diesen Dienst nicht bereit. Durch eigene URLs ersetzen: Das Beispiel sendet
# echte HTTP-Anfragen, aber keine Spielaktionen.
Dim output = File("http-download.bin")
Using output
UO.HTTP_Get("https://example.com/route-data.bin", output)
End Using
Return UO.HTTP_Header()
END SUBErläuterung der Parameter und Ausführung:
- http-download.bin im Arbeitsordner wird auch mit leerem Inhalt überschrieben. Using gibt das Objekt frei; zurück kommen die Header.
- 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
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь