Skip to content

API UO HTTP_Body ja

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 バイトなら 3:。HTTP_Body は空で、data は 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 バイトなら 3:。HTTP_Body は空で、data は Using 終了まで有効です。
  • example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。

Clone this wiki locally