-
Notifications
You must be signed in to change notification settings - Fork 0
API UO HTTP_Post es
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header
ClassicUO • Runtime API
Envía texto a su servicio HTTP mediante POST y devuelve la respuesta. Telegram/Discord requieren sus propios protocolos y autenticación.
UO.HTTP_Post(URL:Any, PostData:Any) -> Any
-
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. -
PostData— Texto obligatorio: UTF-8, Content-Type: text/plain; charset=utf-8. Sin codificación automática de formularios ni application/json. JsonStringify solo genera texto: el servicio debe aceptar JSON como text/plain. No se pueden configurar cabeceras arbitrarias.
String: texto de respuesta, también HTTP_Body(). No Boolean/código HTTP; vacío o no vacío no demuestra éxito.
- 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.
- POST guarda cuerpo/cabeceras y devuelve el cuerpo. No reintente solo por una respuesta vacía: el servidor quizá ya actuó. accepted/status son acuerdos de su servicio.
Pasos reales del cliente, no comandos adicionales: GET/POST llaman HttpRequest; Body/Header leen el resultado de su runtime.
POST guarda cuerpo/cabeceras y devuelve el cuerpo. No reintente solo por una respuesta vacía: el servidor quizá ya actuó. accepted/status son acuerdos de su servicio.
String: texto de respuesta, también HTTP_Body(). No Boolean/código HTTP; vacío o no vacío no demuestra éxito.
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.
# Comprobar una respuesta acordada
#
# Envía texto a su servicio HTTP mediante POST y devuelve la respuesta. Telegram/Discord
# requieren sus propios protocolos y autenticación.
#
# String: texto de respuesta, también HTTP_Body(). No Boolean/código HTTP; vacío o no vacío no
# demuestra éxito.
SUB Main()
# El servicio responde accepted a Route stopped. True comprueba ese texto, no el código HTTP.
# example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP
# reales, sin acciones del juego.
Dim reply = UO.HTTP_Post("https://example.com/basic-event", "Route stopped")
Return Trim(reply) = "accepted"
END SUBExplicación de los parámetros y la ejecución:
- El servicio responde accepted a Route stopped. True comprueba ese texto, no el código HTTP.
- example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP reales, sin acciones del juego.
# Informe estructurado
#
# Envía texto a su servicio HTTP mediante POST y devuelve la respuesta. Telegram/Discord
# requieren sus propios protocolos y autenticación.
#
# String: texto de respuesta, también HTTP_Body(). No Boolean/código HTTP; vacío o no vacío no
# demuestra éxito.
SUB Main()
# JsonStringify escapa el salto de línea; Content-Type sigue siendo text/plain. JSON de
# respuesta: status, o unknown si falta; error: invalid response.
# example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP
# reales, sin acciones del juego.
Dim report = Dictionary()
report["event"] = "route-stopped"
report["text"] = "line one" & Chr(10) & "line two"
Dim reply = UO.HTTP_Post("https://example.com/basic-report", JsonStringify(report))
Try
Dim result = JsonParse(reply)
Return result.Get("status", "unknown")
Catch problem
Return "invalid response"
End Try
END SUBExplicación de los parámetros y la ejecución:
- JsonStringify escapa el salto de línea; Content-Type sigue siendo text/plain. JSON de respuesta: status, o unknown si falta; error: invalid response.
- example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP reales, sin acciones del juego.
# Conservar la primera respuesta
#
# Envía texto a su servicio HTTP mediante POST y devuelve la respuesta. Telegram/Discord
# requieren sus propios protocolos y autenticación.
#
# String: texto de respuesta, también HTTP_Body(). No Boolean/código HTTP; vacío o no vacío no
# demuestra éxito.
SUB Main()
# firstReply/firstHeaders conservan POST; el GET siguiente solo cambia los búferes internos.
# example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP
# reales, sin acciones del juego.
Dim firstReply = UO.HTTP_Post("https://example.com/basic-event", "Route stopped")
Dim firstHeaders = UO.HTTP_Header()
UO.HTTP_Get("https://example.com/basic-status")
Return firstReply & "|" & firstHeaders
END SUBExplicación de los parámetros y la ejecución:
- firstReply/firstHeaders conservan POST; el GET siguiente solo cambia los búferes internos.
- example.com no ofrece esos servicios. Sustituya las URL: los ejemplos hacen solicitudes HTTP reales, sin acciones del juego.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь