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

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

ノート: UNet は非推奨となり、今後 Unity から削除される予定です。新しいシステムが開発中です。詳細は ブログFAQ を参照してください。

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

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

WWW myWww = new WWW("http://www.myserver.com/foo.txt");
// ... は以下に類似 ...
UnityWebRequest myWr = UnityWebRequest.Get("http://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("http://www.my-server.com");
        yield return www.SendWebRequest();
 
        if(www.isNetworkError || www.isHttpError) {
            Debug.Log(www.error);
        }
        else {
            // 結果をテキストとして表示します
            Debug.Log(www.downloadHandler.text);
 
            //  または、結果をバイナリデータとして取得します
            byte[] results = www.downloadHandler.data;
        }
    }
}
共通操作 - HLAPI の使用
HTTP サーバーからテクスチャを取得 (GET)