「Unity/Csharp/Request」の版間の差分
ナビゲーションに移動
検索に移動
| 25行目: | 25行目: | ||
} else { | } else { | ||
if (request.responseCode == 200) { | if (request.responseCode == 200) { | ||
text = request.downloadHandler.text; | |||
Debug.Log(request.downloadHandler.text); | Debug.Log(request.downloadHandler.text); | ||
} | } | ||
2017年11月9日 (木) 01:54時点における版
Httpリクエストサンプル
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.Networking;
public class WebHttpRequest : MonoBehaviour {
string text = "";
public bool errorFlag = false;
public void Exec (string url) {
text = "";
errorFlag = false;
StartCoroutine(Get (url));
}
public IEnumerator Get (string url) {
var request = new UnityWebRequest();
request.downloadHandler = new DownloadHandlerBuffer();
request.url = url;
request.SetRequestHeader("Content-Type", "application/json; charset=UTF-8");
request.method = UnityWebRequest.kHttpVerbGET;
yield return request.Send();
if (request.isError) {
Debug.Log(request.error);
} else {
if (request.responseCode == 200) {
text = request.downloadHandler.text;
Debug.Log(request.downloadHandler.text);
}
}
}
public string GetBody() {
return text;
}
public void Reset() {
text = "";
errorFlag = false;
}
}
呼び出し側
const string uri = "ttp://hogehoge.com/api?param1="; string param1 = "value1"; param1 = WWW.EscapeURL (param1); string url = uri + param1; GameObject gameObj = new GameObject(); WebHttpRequest request = gameObj.AddComponent<WebHttpRequest>(); request.Exec (url);
呼び出し側で受信チェック
void Update ()
{
if (request) {
if (!request.GetBody ().Equals ("")) {
// 処理
request.Reset ();
} else if (request.errorFlag) {
request.errorFlag = false;
}
}
}