Unity

Unity에서 UnityWebRequest를 이용해 웹 접속하는 방법

코샵 2024. 2. 16. 10:37
반응형

Unity에서 웹 접속 기능을 구현하는 방법은 여러 가지가 있지만, UnityWebRequest는 비교적 간편하고 효율적인 방법입니다. 이 글에서는 UnityWebRequest를 이용해 웹 접속하는 방법을 단계별로 설명하고, 예시 코드와 함께 활용 방법을 제시합니다.

 

개요

  • UnityWebRequest는 웹 서버와 통신하여 데이터를 주고받을 수 있도록 하는 API입니다.
  • GET, POST, PUT, DELETE 등 다양한 HTTP 메서드를 지원합니다.
  • 텍스트, 이미지, 바이너리 데이터 등 다양한 형식의 데이터를 처리할 수 있습니다.

웹 접속 단계

    1. UnityWebRequest 객체 생성
      UnityWebRequest 클래스의 생성자를 사용하여 웹 요청 객체를 생성합니다
      요청 URL, 메서드, 헤더 정보등을 설정합니다
    2. 데이터 전송
      UploadHandler 클래스를 사용하여 POST, PUT 요청 시 전송할 데이터를 설정합니다.
      텍스트, 이미지, 바이너리 데이터 등 다양한 형식의 데이터를 전송할 수 있습니다.
    3. 데이터 수신
      DownloadHandler 클래스를 사용하여 웹 서버로부터 받은 데이터를 처리합니다.
      텍스트, 이미지, 바이너리 데이터 등 다양한 형식의 데이터를 전송할 수 있습니다.
    4. 응답 처리
      UnityWebRequest.responseCode 속성을 사용하여 응답 코드를 확인합니다.
      UnityWebRequest.error 속성을 사용하여 오류 여부를 확인합니다.
      UnityWebRequest.downloadHandler 속성을 사용하여 수신된 데이터를 가져옵니다.

예시

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;

public class WebRequestExample : MonoBehaviour
{
    public string url = "https://www.google.com";

    void Start()
    {
        // GET 요청 생성
        UnityWebRequest request = UnityWebRequest.Get(url);

        // 요청 보내기
        StartCoroutine(SendRequest(request));
    }

    IEnumerator SendRequest(UnityWebRequest request)
    {
        // 요청 비동기적으로 보내기
        yield return request.SendWebRequest();

        // 응답 코드 확인
        if (request.responseCode == 200)
        {
            // 성공
            Debug.Log("Web request succeeded!");

            // 수신된 데이터 처리
            string responseText = request.downloadHandler.text;
            Debug.Log(responseText);
        }
        else
        {
            // 실패
            Debug.Log("Web request failed: " + request.error);
        }
    }
}

 

활용 예시

  • 웹 서버로부터 데이터를 가져와 게임에 표시하기
  • 웹 서버에 데이터를 전송하여 게임 기능 구현하기
  • 웹 API를 사용하여 게임 기능 확장하기