Version: 2023.2
言語: 日本語
共通操作 - HLAPI の使用
HTTP サーバーからテクスチャを取得 (GET)

HTTP サーバーからテキストやバイナリデータを取得 (GET)

重要: UNet は非推奨のソリューションになり、現在、新しい Multiplayer とネットワーキングソリューション (Netcode for GameObjects) が開発中です。詳細は、GameObjects Web サイトの Unity Netcode を参照してください。

標準的な HTTP や HTTPS のウェブサーバーから単純なテキストデータやバイナリデータを取得するには、UnityWebRequest.GET を利用します。この関数は引数にデータの取得元の URL を指定する必要があります。

この関数は標準の WWW コンストラクターに類似しています。

WWW myWww = new WWW("https://www.myserver.com/foo.txt");
// ... 以下に類似しています ...
UnityWebRequest myWr = UnityWebRequest.Get("https://www.myserver.com/foo.txt");

説明

  • この関数は UnityWebRequest を作成し、ターゲット URL を文字列引数に設定します。この関数は、その他のフラグやカスタムヘッダーは設定しません。
  • デフォルトで、この関数は標準の DownloadHandlerBufferUnityWebRequest に設定します。このハンドラーはサーバーから受け取ったデータをバッファリングし、リクエストが完了するとスクリプトで使用可能にします。
  • デフォルトで、この関数は UploadHandlerUnityWebRequest に設定しません。必要に応じて、手動で追加することができます。

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
 
public class MyBehaviour : MonoBehaviour {
    void Start() {
        StartCoroutine(GetText());
    }
 
    IEnumerator GetText() {
        UnityWebRequest www = UnityWebRequest.Get("https://www.my-server.com");
        yield return www.SendWebRequest();
 
        if (www.result != UnityWebRequest.Result.Success) {
            Debug.Log(www.error);
        }
        else {
            // 結果をテキストで表示
            Debug.Log(www.downloadHandler.text);
 
            // または、バイナリデータとして結果を取得します。
            byte[] results = www.downloadHandler.data;
        }
    }
}
共通操作 - HLAPI の使用
HTTP サーバーからテクスチャを取得 (GET)