-
Notifications
You must be signed in to change notification settings - Fork 0
API UO HTTP_Post ja
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header
ClassicUO • Runtime API
自分の HTTP サービスへ POST で文字列を送り、応答を返します。Telegram/Discord には別途プロトコルと認証の対応が必要です。
UO.HTTP_Post(URL:Any, PostData:Any) -> Any
-
URL— 必須の String。完全な http:// または https:// アドレスです。プロセスの通常のネットワークを使用し、プロファイルのゲーム用プロキシは使いません。ゲームへの接続は不要です。 -
PostData— 必須の本文文字列。UTF-8、Content-Type: text/plain; charset=utf-8 で送ります。フォームの自動符号化や application/json への切り替えはありません。JsonStringify は文字列を作るだけなので、サービス側が text/plain の JSON を受け付ける必要があります。任意のヘッダーは設定できません。
String:応答文字列。HTTP_Body() にも保存されます。Boolean や HTTP 状態ではなく、空かどうかだけで成功を判断できません。
- 応答はこのスクリプトの runtime に属します。その次の GET/POST が置き換え、他のスクリプトは変更しません。プロファイルには保存されません。古い応答が必要なら先に変数へコピーします。
- GET/POST はスクリプトのスレッドで待機し、要求と本文読取全体で 20 秒が期限です。停止すると待機を取り消します。Body/Header は待機しません。File 指定でも本文全体をメモリーに読み込みます。
- charset で復号し、未指定・未知なら UTF-8 を使います。4xx/5xx の本文も読みます。通信エラー・タイムアウトはエラー表示と本文・ヘッダーの消去になります。Try/Catch は応答検証の代用ではありません。停止は伝播し、ローカル書込・引数エラーは捕捉できます。
- POST は本文・ヘッダーを保存し、本文を返します。空応答だけを理由に再送しないでください。サーバーが既に実行した可能性があります。accepted/status は自分のサービスとの取り決めです。
実際のクライアント処理段階で、追加命令ではありません。GET/POST が HttpRequest を呼び、Body/Header は runtime 内の結果を読むだけです。
POST は本文・ヘッダーを保存し、本文を返します。空応答だけを理由に再送しないでください。サーバーが既に実行した可能性があります。accepted/status は自分のサービスとの取り決めです。
String:応答文字列。HTTP_Body() にも保存されます。Boolean や HTTP 状態ではなく、空かどうかだけで成功を判断できません。
プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 関数 ExecuteClientApiCompatibility.
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 サービスへ POST で文字列を送り、応答を返します。Telegram/Discord には別途プロトコルと認証の対応が必要です。
#
# String:応答文字列。HTTP_Body() にも保存されます。Boolean や HTTP 状態ではなく、空かどうかだけで成功を判断できません。
SUB Main()
# Route stopped に accepted を返すサービスを想定。True は文字列の確認であり HTTP 状態ではありません。
# example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
Dim reply = UO.HTTP_Post("https://example.com/basic-event", "Route stopped")
Return Trim(reply) = "accepted"
END SUBパラメーターと実行の説明:
- Route stopped に accepted を返すサービスを想定。True は文字列の確認であり HTTP 状態ではありません。
- example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
# 構造化した報告
#
# 自分の HTTP サービスへ POST で文字列を送り、応答を返します。Telegram/Discord には別途プロトコルと認証の対応が必要です。
#
# String:応答文字列。HTTP_Body() にも保存されます。Boolean や HTTP 状態ではなく、空かどうかだけで成功を判断できません。
SUB Main()
# JsonStringify が改行をエスケープしますが Content-Type は text/plain。JSON 応答の status、なければ unknown、エラーなら
# invalid response を返します。
# example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
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 SUBパラメーターと実行の説明:
- JsonStringify が改行をエスケープしますが Content-Type は text/plain。JSON 応答の status、なければ unknown、エラーなら invalid response を返します。
- example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
# 最初の応答を保持
#
# 自分の HTTP サービスへ POST で文字列を送り、応答を返します。Telegram/Discord には別途プロトコルと認証の対応が必要です。
#
# String:応答文字列。HTTP_Body() にも保存されます。Boolean や HTTP 状態ではなく、空かどうかだけで成功を判断できません。
SUB Main()
# firstReply/firstHeaders は POST の結果を保存。次の GET は内部バッファーだけを置き換えます。
# example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
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 SUBパラメーターと実行の説明:
- firstReply/firstHeaders は POST の結果を保存。次の GET は内部バッファーだけを置き換えます。
- example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь