-
Notifications
You must be signed in to change notification settings - Fork 0
API UO HTTP_Header ja
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header
ClassicUO • Runtime API
このスクリプトの最後の HTTP 応答ヘッダーを読みます。Content-Type などであり、本文、要求ヘッダー、HTTP 状態コードではありません。
UO.HTTP_Header() -> Any
引数はありません。
String:CRLF 区切りの「名前: 値」。HTTP 状態行はありません。要求前や通信エラー後は空です。順序と大文字小文字は保証されず、状態コード専用の命令はありません。
- 応答はこのスクリプトの runtime に属します。その次の GET/POST が置き換え、他のスクリプトは変更しません。プロファイルには保存されません。古い応答が必要なら先に変数へコピーします。
- GET/POST はスクリプトのスレッドで待機し、要求と本文読取全体で 20 秒が期限です。停止すると待機を取り消します。Body/Header は待機しません。File 指定でも本文全体をメモリーに読み込みます。
- charset で復号し、未指定・未知なら UTF-8 を使います。4xx/5xx の本文も読みます。通信エラー・タイムアウトはエラー表示と本文・ヘッダーの消去になります。Try/Catch は応答検証の代用ではありません。停止は伝播し、ローカル書込・引数エラーは捕捉できます。
- Header は応答と内容のヘッダーを合わせ、バイナリ GET 後にも読めます。名前は大文字小文字を無視して比較します。Content-Type は内容の検証ではなく、取得した内容をコードとして実行しないでください。
実際のクライアント処理段階で、追加命令ではありません。GET/POST が HttpRequest を呼び、Body/Header は runtime 内の結果を読むだけです。
Header は応答と内容のヘッダーを合わせ、バイナリ GET 後にも読めます。名前は大文字小文字を無視して比較します。Content-Type は内容の検証ではなく、取得した内容をコードとして実行しないでください。
String:CRLF 区切りの「名前: 値」。HTTP 状態行はありません。要求前や通信エラー後は空です。順序と大文字小文字は保証されず、状態コード専用の命令はありません。
プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 関数 ExecuteClientApiCompatibility.
実際のクライアント処理段階で、追加命令ではありません。GET/POST が HttpRequest を呼び、Body/Header は runtime 内の結果を読むだけです。
# Content-Type を名前で取得
#
# このスクリプトの最後の HTTP 応答ヘッダーを読みます。Content-Type などであり、本文、要求ヘッダー、HTTP 状態コードではありません。
#
# String:CRLF 区切りの「名前: 値」。HTTP 状態行はありません。要求前や通信エラー後は空です。順序と大文字小文字は保証されず、状態コード専用の命令はありません。
SUB Main()
# ReadHeader は行頭の名前を大小文字を無視して探し、値の前後の空白を除去。なければ空文字列です。
# example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
UO.HTTP_Get("https://example.com/basic-status")
Return ReadHeader(UO.HTTP_Header(), "Content-Type")
END SUB
Function ReadHeader(headers, name)
Dim marker = Chr(13) & Chr(10) & LCase(name) & ":"
Dim text = Chr(13) & Chr(10) & headers & Chr(13) & Chr(10)
Dim start = InStr(1, LCase(text), marker)
If start = 0 Then
Return ""
End If
start += Len(marker)
Dim finish = InStr(start, text, Chr(13) & Chr(10))
Return Trim(Mid(text, start, finish - start))
End Functionパラメーターと実行の説明:
- ReadHeader は行頭の名前を大小文字を無視して探し、値の前後の空白を除去。なければ空文字列です。
- example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
# JSON の表示を検索
#
# このスクリプトの最後の HTTP 応答ヘッダーを読みます。Content-Type などであり、本文、要求ヘッダー、HTTP 状態コードではありません。
#
# String:CRLF 区切りの「名前: 値」。HTTP 状態行はありません。要求前や通信エラー後は空です。順序と大文字小文字は保証されず、状態コード専用の命令はありません。
SUB Main()
# 全ヘッダーの application/json を検索する Boolean です。正確なフィールドは ReadHeader、内容は JsonParse で確認します。
# example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
UO.HTTP_Get("https://example.com/basic-status")
Dim headers = UO.HTTP_Header()
Return InStr(1, LCase(headers), "application/json") > 0
END SUBパラメーターと実行の説明:
- 全ヘッダーの application/json を検索する Boolean です。正確なフィールドは ReadHeader、内容は JsonParse で確認します。
- example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
# バイナリ応答のヘッダー
#
# このスクリプトの最後の HTTP 応答ヘッダーを読みます。Content-Type などであり、本文、要求ヘッダー、HTTP 状態コードではありません。
#
# String:CRLF 区切りの「名前: 値」。HTTP 状態行はありません。要求前や通信エラー後は空です。順序と大文字小文字は保証されず、状態コード専用の命令はありません。
SUB Main()
# ストリームでもヘッダーは読めます。本文は data にあり、HTTP_Body は空です。
# example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
Dim data = MemoryStream()
Using data
UO.HTTP_Get("https://example.com/route-data.bin", data)
Dim headers = UO.HTTP_Header()
Return headers
End Using
END SUBパラメーターと実行の説明:
- ストリームでもヘッダーは読めます。本文は data にあり、HTTP_Body は空です。
- example.com はこのサービスを提供しません。自分の URL に変更してください。実行すると実際の HTTP 要求が発生しますが、ゲーム操作はありません。
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь