-
Notifications
You must be signed in to change notification settings - Fork 0
API UO HTTP_Get es
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header
ClassicUO • Runtime API
Descarga ajustes o archivos por HTTP/HTTPS, sin ejecutar el contenido ni gestionar la conexión al juego.
UO.HTTP_Get(URL:Any) -> Unit
UO.HTTP_Get(URL:Any, LStream:Any) -> Unit
-
URL— String obligatoria: dirección http:// o https:// completa. Usa la red normal del proceso, no el proxy de juego del perfil. No requiere conexión al juego. -
LStream— MemoryStream() o File(path) opcional. Omitido, 0 o Nothing: texto mediante HTTP_Body(). Los bytes reemplazan todo el contenido; MemoryStream vuelve a 0. File sobrescribe el archivo; la carpeta debe existir. Otros tipos se rechazan antes de enviar.
Unit: sin valor, no Boolean, ID ni cantidad de bytes. Texto mediante HTTP_Body(), bytes desde el flujo.
- El búfer pertenece al runtime del script. Su siguiente GET/POST lo reemplaza; otros scripts no lo modifican. No se guarda en el perfil. Copie las respuestas necesarias en variables antes de otra solicitud.
- GET/POST esperan en el hilo del script: límite total de 20 segundos, incluido el cuerpo. Detener el script cancela la espera; Body/Header no esperan. Incluso con File se carga todo el cuerpo en memoria.
- Decodifica según charset; si falta/es desconocido, UTF-8. También lee cuerpos 4xx/5xx. Error de red/timeout: mensaje de error y búferes vacíos; Try/Catch no sustituye la validación de respuesta. Se propaga la cancelación; los errores locales de escritura/argumentos se pueden capturar.
- GET sin flujo guarda texto/cabeceras; con flujo guarda bytes/cabeceras y vacía HTTP_Body. Respuesta vacía/error de red también vacía el flujo. Descargue y valide en memoria antes de reemplazar archivos importantes.
Pasos reales del cliente, no comandos adicionales: GET/POST llaman HttpRequest; Body/Header leen el resultado de su runtime.
GET sin flujo guarda texto/cabeceras; con flujo guarda bytes/cabeceras y vacía HTTP_Body. Respuesta vacía/error de red también vacía el flujo. Descargue y valide en memoria antes de reemplazar archivos importantes.
Unit: sin valor, no Boolean, ID ni cantidad de bytes. Texto mediante HTTP_Body(), bytes desde el flujo.
Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; función ExecuteClientApiCompatibility.
GET/POST esperan en el hilo del script: límite total de 20 segundos, incluido el cuerpo. Detener el script cancela la espera; Body/Header no esperan. Incluso con File se carga todo el cuerpo en memoria.
Decodifica según charset; si falta/es desconocido, UTF-8. También lee cuerpos 4xx/5xx. Error de red/timeout: mensaje de error y búferes vacíos; Try/Catch no sustituye la validación de respuesta. Se propaga la cancelación; los errores locales de escritura/argumentos se pueden capturar.
Código del proyecto: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; función HttpRequest.
Pasos reales del cliente, no comandos adicionales: GET/POST llaman HttpRequest; Body/Header leen el resultado de su runtime.
# Leer un umbral de maná
#
# Descarga ajustes o archivos por HTTP/HTTPS, sin ejecutar el contenido ni gestionar la conexión
# al juego.
#
# Unit: sin valor, no Boolean, ID ni cantidad de bytes. Texto mediante HTTP_Body(), bytes desde
# el flujo.
SUB Main()
# Objeto JSON minMana: número 0..100 convertido a Integer, o 30 como alternativa. Ajuste del
# script, no maná actual.
# example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP
# reales, sin acciones del juego.
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 SUBExplicación de los parámetros y la ejecución:
- Objeto JSON minMana: número 0..100 convertido a Integer, o 30 como alternativa. Ajuste del script, no maná actual.
- example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP reales, sin acciones del juego.
# Comprobar antes de guardar
#
# Descarga ajustes o archivos por HTTP/HTTPS, sin ejecutar el contenido ni gestionar la conexión
# al juego.
#
# Unit: sin valor, no Boolean, ID ni cantidad de bytes. Texto mediante HTTP_Body(), bytes desde
# el flujo.
SUB Main()
# Solo datos no vacíos sobrescriben download.bin en la carpeta de trabajo. True no valida su
# formato; compruebe también el contenido.
# example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP
# reales, sin acciones del juego.
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 SUBExplicación de los parámetros y la ejecución:
- Solo datos no vacíos sobrescriben download.bin en la carpeta de trabajo. True no valida su formato; compruebe también el contenido.
- example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP reales, sin acciones del juego.
# Escribir directamente
#
# Descarga ajustes o archivos por HTTP/HTTPS, sin ejecutar el contenido ni gestionar la conexión
# al juego.
#
# Unit: sin valor, no Boolean, ID ni cantidad de bytes. Texto mediante HTTP_Body(), bytes desde
# el flujo.
SUB Main()
# http-download.bin se sobrescribe incluso con respuesta vacía. Using libera el objeto; Main
# devuelve cabeceras.
# example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP
# reales, sin acciones del juego.
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 SUBExplicación de los parámetros y la ejecución:
- http-download.bin se sobrescribe incluso con respuesta vacía. Using libera el objeto; Main devuelve cabeceras.
- example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP reales, sin acciones del juego.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь