Skip to content

API UO HTTP_Body uk

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

Читає текст останньої HTTP-відповіді цього скрипта, наприклад для розбору налаштувань JSON. Нового запиту немає.

Точний синтаксис

UO.HTTP_Body() -> Any

Параметри

Параметрів немає.

Повертає

String: текстовий буфер. До першого запиту, після GET у потік або мережевої помилки порожній. Нормальна HTTP 204 теж може бути порожньою.

Поведінка

  • Буфер належить runtime цього скрипта. Його наступний GET/POST замінює відповідь; інші скрипти її не змінюють. У профілі вона не зберігається. Потрібні старі дані копіюйте в змінні.
  • GET/POST очікують у потоці скрипта: 20 секунд на запит разом із читанням тіла. Стоп скасовує очікування; Body/Header не очікують. Навіть File спочатку завантажує все тіло в пам’ять.
  • Кодування береться з charset; відсутнє/невідоме — UTF-8. Читаються й відповіді 4xx/5xx. Мережева помилка/таймаут виводять помилку та очищують тіло й заголовки; Try/Catch не замінює перевірки відповіді. Скасування поширюється далі. Локальні помилки запису/аргументів можна перехопити.
  • Body лише читає: не повторює запит і не очищує буфер. Після двійкового GET потрібні ToArray() або файл.

Внутрішні функції: від виклику до результату

Це етапи клієнта, не додаткові команди. GET/POST викликають HttpRequest; Body/Header лише читають результат свого runtime.

1. ExecuteClientApiCompatibility

Body лише читає: не повторює запит і не очищує буфер. Після двійкового GET потрібні ToArray() або файл.

String: текстовий буфер. До першого запиту, після GET у потік або мережевої помилки порожній. Нормальна HTTP 204 теж може бути порожньою.

Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; функція ExecuteClientApiCompatibility.

Це етапи клієнта, не додаткові команди. GET/POST викликають HttpRequest; Body/Header лише читають результат свого runtime.

Приклади

Дозвіл за текстом

# Дозвіл за текстом
#
# Читає текст останньої HTTP-відповіді цього скрипта, наприклад для розбору налаштувань JSON.
# Нового запиту немає.
#
# String: текстовий буфер. До першого запиту, після GET у потік або мережевої помилки порожній.
# Нормальна HTTP 204 теж може бути порожньою.

SUB Main()
    # Лише allow дає True. Інший або порожній текст дає False; рух чи бій не запускаються.
    # example.com не надає показаного сервісу. Замініть URL власним: приклад робить справжній
    # HTTP-запит, без ігрових дій.

    UO.HTTP_Get("https://example.com/basic-permission")
    Dim permission = Trim(UO.HTTP_Body())
    Return permission = "allow"
END SUB

Пояснення параметрів і виконання:

  • Лише allow дає True. Інший або порожній текст дає False; рух чи бій не запускаються.
  • example.com не надає показаного сервісу. Замініть URL власним: приклад робить справжній HTTP-запит, без ігрових дій.

Об’єднати дві відповіді

# Об’єднати дві відповіді
#
# Читає текст останньої HTTP-відповіді цього скрипта, наприклад для розбору налаштувань JSON.
# Нового запиту немає.
#
# String: текстовий буфер. До першого запиту, після GET у потік або мережевої помилки порожній.
# Нормальна HTTP 204 теж може бути порожньою.

SUB Main()
    # Назва маршруту зберігається до GET опису, який замінить буфер.
    # example.com не надає показаного сервісу. Замініть URL власним: приклад робить справжній
    # HTTP-запит, без ігрових дій.

    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

Пояснення параметрів і виконання:

  • Назва маршруту зберігається до GET опису, який замінить буфер.
  • example.com не надає показаного сервісу. Замініть URL власним: приклад робить справжній HTTP-запит, без ігрових дій.

Байти й текст

# Байти й текст
#
# Читає текст останньої HTTP-відповіді цього скрипта, наприклад для розбору налаштувань JSON.
# Нового запиту немає.
#
# String: текстовий буфер. До першого запиту, після GET у потік або мережевої помилки порожній.
# Нормальна HTTP 204 теж може бути порожньою.

SUB Main()
    # Три байти в потоці дають 3:, бо HTTP_Body порожній. Дані існують до кінця Using.
    # example.com не надає показаного сервісу. Замініть URL власним: приклад робить справжній
    # HTTP-запит, без ігрових дій.

    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

Пояснення параметрів і виконання:

  • Три байти в потоці дають 3:, бо HTTP_Body порожній. Дані існують до кінця Using.
  • example.com не надає показаного сервісу. Замініть URL власним: приклад робить справжній HTTP-запит, без ігрових дій.

Clone this wiki locally