Skip to content

API UO HTTP_Get ja

Codex edited this page Oct 3, 2026 · 1 revision

UO.HTTP_Get

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header

ClassicUO • Runtime API

HTTP/HTTPS で設定やファイルを取得します。取得内容の実行やゲーム接続の操作は行いません。

正確な構文

UO.HTTP_Get(URL:Any) -> Unit
UO.HTTP_Get(URL:Any, LStream:Any) -> Unit

パラメーター

  • URL — 必須の String。完全な http:// または https:// アドレスです。プロセスの通常のネットワークを使用し、プロファイルのゲーム用プロキシは使いません。ゲームへの接続は不要です。
  • LStream — 省略可能な MemoryStream() または File(path)。省略、0、Nothing は HTTP_Body() で読む文字列形式です。バイト列で全内容を置き換え、MemoryStream の位置は 0 に戻ります。File はファイルを上書きし、親フォルダーは必要です。他の型は送信前にエラーになります。

戻り値

Unit:値を返しません。Boolean、ID、バイト数ではありません。文字列は HTTP_Body()、バイト列はストリームから読みます。

動作

  • 応答はこのスクリプトの runtime に属します。その次の GET/POST が置き換え、他のスクリプトは変更しません。プロファイルには保存されません。古い応答が必要なら先に変数へコピーします。
  • GET/POST はスクリプトのスレッドで待機し、要求と本文読取全体で 20 秒が期限です。停止すると待機を取り消します。Body/Header は待機しません。File 指定でも本文全体をメモリーに読み込みます。
  • charset で復号し、未指定・未知なら UTF-8 を使います。4xx/5xx の本文も読みます。通信エラー・タイムアウトはエラー表示と本文・ヘッダーの消去になります。Try/Catch は応答検証の代用ではありません。停止は伝播し、ローカル書込・引数エラーは捕捉できます。
  • 通常の GET は文字列とヘッダーを保存し、ストリーム GET はバイト列とヘッダーを保存して HTTP_Body を空にします。空応答・通信エラーでもストリームを空にします。重要なファイルは先にメモリーで取得・検証してください。

内部関数:呼び出しから結果まで

実際のクライアント処理段階で、追加命令ではありません。GET/POST が HttpRequest を呼び、Body/Header は runtime 内の結果を読むだけです。

1. ExecuteClientApiCompatibility

通常の GET は文字列とヘッダーを保存し、ストリーム GET はバイト列とヘッダーを保存して HTTP_Body を空にします。空応答・通信エラーでもストリームを空にします。重要なファイルは先にメモリーで取得・検証してください。

Unit:値を返しません。Boolean、ID、バイト数ではありません。文字列は HTTP_Body()、バイト列はストリームから読みます。

プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 関数 ExecuteClientApiCompatibility.

2. HttpRequest

GET/POST はスクリプトのスレッドで待機し、要求と本文読取全体で 20 秒が期限です。停止すると待機を取り消します。Body/Header は待機しません。File 指定でも本文全体をメモリーに読み込みます。

charset で復号し、未指定・未知なら UTF-8 を使います。4xx/5xx の本文も読みます。通信エラー・タイムアウトはエラー表示と本文・ヘッダーの消去になります。Try/Catch は応答検証の代用ではありません。停止は伝播し、ローカル書込・引数エラーは捕捉できます。

プロジェクトのソース: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 関数 HttpRequest.

実際のクライアント処理段階で、追加命令ではありません。GET/POST が HttpRequest を呼び、Body/Header は runtime 内の結果を読むだけです。

使用例

マナ閾値を取得

# マナ閾値を取得
#
# HTTP/HTTPS で設定やファイルを取得します。取得内容の実行やゲーム接続の操作は行いません。
#
# Unit:値を返しません。Boolean、ID、バイト数ではありません。文字列は HTTP_Body()、バイト列はストリームから読みます。

SUB Main()
    # JSON オブジェクト minMana の 0..100 を Integer に変換し、それ以外は 30。現在のマナではなく設定値です。
    # example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。

    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 SUB

パラメーターと実行の説明:

  • JSON オブジェクト minMana の 0..100 を Integer に変換し、それ以外は 30。現在のマナではなく設定値です。
  • example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。

保存前に確認

# 保存前に確認
#
# HTTP/HTTPS で設定やファイルを取得します。取得内容の実行やゲーム接続の操作は行いません。
#
# Unit:値を返しません。Boolean、ID、バイト数ではありません。文字列は HTTP_Body()、バイト列はストリームから読みます。

SUB Main()
    # 空でないバイト列だけを作業フォルダーの download.bin に上書きします。True は形式の正しさを保証せず、内容検証が必要です。
    # example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。

    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 SUB

パラメーターと実行の説明:

  • 空でないバイト列だけを作業フォルダーの download.bin に上書きします。True は形式の正しさを保証せず、内容検証が必要です。
  • example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。

直接ファイルへ保存

# 直接ファイルへ保存
#
# HTTP/HTTPS で設定やファイルを取得します。取得内容の実行やゲーム接続の操作は行いません。
#
# Unit:値を返しません。Boolean、ID、バイト数ではありません。文字列は HTTP_Body()、バイト列はストリームから読みます。

SUB Main()
    # 空応答でも作業フォルダーの http-download.bin を上書きします。Using が解放し、Main はヘッダーを返します。
    # example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。

    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 SUB

パラメーターと実行の説明:

  • 空応答でも作業フォルダーの http-download.bin を上書きします。Using が解放し、Main はヘッダーを返します。
  • example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。

Clone this wiki locally