-
Notifications
You must be signed in to change notification settings - Fork 0
API UO HTTP_Header es
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header
ClassicUO • Runtime API
Lee las últimas cabeceras HTTP de este script, como Content-Type; no el cuerpo, las cabeceras de solicitud ni el código HTTP.
UO.HTTP_Header() -> Any
Sin parámetros.
String: líneas Nombre: valor separadas por CRLF, sin línea de estado HTTP. Vacío antes de la solicitud/después de error de red. Orden y mayúsculas variables; sin comando separado para el código HTTP.
- 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.
- Header combina cabeceras de respuesta y contenido, también tras GET binario. Compare nombres sin distinguir mayúsculas. Content-Type no valida los datos; no los ejecute como código.
Pasos reales del cliente, no comandos adicionales: GET/POST llaman HttpRequest; Body/Header leen el resultado de su runtime.
Header combina cabeceras de respuesta y contenido, también tras GET binario. Compare nombres sin distinguir mayúsculas. Content-Type no valida los datos; no los ejecute como código.
String: líneas Nombre: valor separadas por CRLF, sin línea de estado HTTP. Vacío antes de la solicitud/después de error de red. Orden y mayúsculas variables; sin comando separado para el código HTTP.
Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; función ExecuteClientApiCompatibility.
Pasos reales del cliente, no comandos adicionales: GET/POST llaman HttpRequest; Body/Header leen el resultado de su runtime.
# Leer Content-Type
#
# Lee las últimas cabeceras HTTP de este script, como Content-Type; no el cuerpo, las cabeceras
# de solicitud ni el código HTTP.
#
# String: líneas Nombre: valor separadas por CRLF, sin línea de estado HTTP. Vacío antes de la
# solicitud/después de error de red. Orden y mayúsculas variables; sin comando separado para el
# código HTTP.
SUB Main()
# ReadHeader busca el nombre al inicio de línea sin distinguir mayúsculas y recorta espacios; si
# falta, devuelve vacío.
# 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-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 FunctionExplicación de los parámetros y la ejecución:
- ReadHeader busca el nombre al inicio de línea sin distinguir mayúsculas y recorta espacios; si falta, devuelve vacío.
- example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP reales, sin acciones del juego.
# Buscar un indicador JSON
#
# Lee las últimas cabeceras HTTP de este script, como Content-Type; no el cuerpo, las cabeceras
# de solicitud ni el código HTTP.
#
# String: líneas Nombre: valor separadas por CRLF, sin línea de estado HTTP. Vacío antes de la
# solicitud/después de error de red. Orden y mayúsculas variables; sin comando separado para el
# código HTTP.
SUB Main()
# Busca application/json en todas las cabeceras: Boolean, no validación de datos. Para el campo
# exacto use ReadHeader y después JsonParse.
# 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-status")
Dim headers = UO.HTTP_Header()
Return InStr(1, LCase(headers), "application/json") > 0
END SUBExplicación de los parámetros y la ejecución:
- Busca application/json en todas las cabeceras: Boolean, no validación de datos. Para el campo exacto use ReadHeader y después JsonParse.
- example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP reales, sin acciones del juego.
# Cabeceras binarias
#
# Lee las últimas cabeceras HTTP de este script, como Content-Type; no el cuerpo, las cabeceras
# de solicitud ni el código HTTP.
#
# String: líneas Nombre: valor separadas por CRLF, sin línea de estado HTTP. Vacío antes de la
# solicitud/después de error de red. Orden y mayúsculas variables; sin comando separado para el
# código HTTP.
SUB Main()
# El flujo no impide leer cabeceras: cuerpo en data, HTTP_Body vacío.
# 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)
Dim headers = UO.HTTP_Header()
Return headers
End Using
END SUBExplicación de los parámetros y la ejecución:
- El flujo no impide leer cabeceras: cuerpo en data, HTTP_Body vacío.
- example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP reales, sin acciones del juego.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь