개발 관련/SW, App 관련

UnityWebRequest를 이용한 POST와 GET방식

소서리스25 2023. 7. 29. 23:48
반응형

Unity의 UnityWebRequest를 이용한 POST와 GET방식

 

유니티에서 웹에 데이터를 저장하는 방식은 크게 POST와 GET으로 볼 수 있겠다. 대부분 웹데이터를 이런 방식으로 이용할 것이라 생각한다.

 

예전 게시물을 확인해 보면 php와의 연동을 POST 방식으로 이용한 것을 볼 수 있다. 이번에는 GET 방식과 함께 간략하게 다시 소개해 본다.

 

예전 앱들이 죄다 www를 사용해서 업데이트하는 것마다 변경된 것으로 해줘야 한다. 일부 앱 중에서는 GET 방식을 썼기 때문에 변경이 필요하다. 물론 예전 것 그대로 업데이트 없이 놔두면 그대로 작동은 한다. 

 

먼저 GET 방식은 다음과 같다. url에 정보를 보내주는 방식이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
 
public class NewBehaviourScript : MonoBehaviour
{
    string dataUrl = "http://www.url.com/url.php?data=1234";
 
    void Start()
    {
        StartCoroutine(dataUrl);
    }
 
    IEnumerator SendData(string _url)
    {
        UnityWebRequest www = UnityWebRequest.Get(_url);
        yield return www.SendWebRequest();
 
        if (www.error == null)
        {
            Debug.Log(www.downloadHandler.text);
        }
        else
        {
            Debug.Log("error : " + www.error);
        }
    }
}
cs

 

다음으로 POST 방식은 아래와 같다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
 
public class NewBehaviourScript : MonoBehaviour
{
    string _url = "http://www.url.com/url.php";
 
    void Start()
    {
        StartCoroutine(_url);
    }
 
    IEnumerator SendData(string _url)
    {
        WWWForm _form = new WWWForm();
 
        string _id = "id2023";
        string _name = "jame.gun";
 
        _form.AddField("userid", _id);
        _form.AddField("username", _name);
 
        UnityWebRequest www = UnityWebRequest.Post(_url, _form);
 
        yield return www.SendWebRequest();
 
        if (www.error == null)
        {
            Debug.Log(www.downloadHandler.text);
        }
        else
        {
            Debug.Log("error : " + www.error);
        }
    }
}
 
cs

 

보면 알겠지만 예전의 www와 크게 달라지는 점은 없는것 같다.

아마도 가장 많이 사용하는 방법은 POST 방식일 것이다.

 

UnityWebRequest는 다른 개발자들 사이트들에 널린 자료이긴 하지만.. 일단 잊어버리지 않도록 포스팅한다.

 

반응형