Unityでhttp get/post処理
Unity 5.3.0f4 (64-bit)。
AndroidとWebGLで出力したいと思っています。
getの場合
WWWクラスを使う (UnityEngine)
http://docs.unity3d.com/ja/current/ScriptReference/WWW.html
これはものすごく簡単でした。
非同期なのでUpdateで終わったかどうか見てますが、多分コールバック(デリゲート)が使えるのかな。
using UnityEngine; using System; public class Test : MonoBehaviour { private WWW www; private bool isDone = true; private string Url = "http://hoge.com/?fuga=1"; public void Request() { www = new WWW(Url); isDone = false; } void Update() { // 応答が返ってきたら if (isDone == false && www.isDone) { // 中身を取る Debug.Log(www.text); isDone = true; } } }
postの場合
WWWFormクラスを使う (UnityEngine)
http://docs.unity3d.com/ja/current/ScriptReference/WWWForm.html
こっちもシンプルですね。
WWWFormのインスタンスをWWWの引数に加えるだけです。
using UnityEngine; using System; public class Test : MonoBehaviour { private WWW www; private bool isDone = true; private string Url = "http://hoge.com/"; public void Request() { WWWForm form = new WWWForm(); form.AddField("fuga", "1"); www = new WWW(Url, form); if (!String.IsNullOrEmpty(www.error)) { print(www.error); } isDone = false; } void Update() { // 応答が返ってきたら if (isDone == false && www.isDone) { // 中身を取る Debug.Log(www.text); isDone = true; } } }