Unity WebRequest 사용 가이드
이 문서는 Unity의 WebRequest 기능을 설명하며, 사용 방법과 다양한 활용 예제를 포함합니다. Unity에서 네트워킹을 구현할 때 유용한 API입니다.
UnityWebRequest 소개
UnityWebRequest
는 HTTP 요청을 보내고 받을 수 있는 클래스입니다. 다음과 같은 두 가지 생성자가 있습니다:
- 기본 생성자
- URL을 받는 생성자
이 클래스는 다양한 프로퍼티를 통해 요청을 설정하고 결과를 확인할 수 있습니다.
생성자
생성자 타입 | 설명 |
---|---|
기본 생성자 | 모든 설정이 비어 있거나 기본값인 새 UnityWebRequest 를 생성합니다. |
URL 생성자 | 문자열 인수를 통해 타겟 URL을 설정합니다. |
주요 프로퍼티
프로퍼티 | 설명 |
---|---|
url |
요청할 URL을 설정합니다. |
method |
HTTP 메소드를 설정합니다. (예: GET, POST 등) |
useHttpContinue |
HTTP 100-continue를 사용할지 여부를 설정합니다. |
chunkedTransfer |
청크 전송 여부를 설정합니다. |
redirectLimit |
리디렉션 한계를 설정합니다. |
timeout |
요청 타임아웃 시간을 설정합니다. |
예제 코드
아래는 UnityWebRequest
를 만드는 기본적인 코드 예제입니다.
UnityWebRequest wr = new UnityWebRequest(); // 완전히 빈 WebRequest
UnityWebRequest wr2 = new UnityWebRequest("https://www.mysite.com"); // 타겟 URL 설정
// 웹 요청에 필요한 설정
wr.url = "https://www.mysite.com";
wr.method = UnityWebRequest.kHttpVerbGET; // 모든 HTTP 메소드에 대해 설정 가능
wr.useHttpContinue = false;
wr.chunkedTransfer = false;
wr.redirectLimit = 0; // 리디렉션 비활성화
wr.timeout = 60; // 작은 값으로 설정하지 마세요. 웹 요청은 시간이 걸릴 수 있습니다.
사용 예제: 데이터 가져오기
다음은 특정 URL에서 데이터를 가져오는 간단한 예제입니다.
IEnumerator DownloadData()
{
UnityWebRequest www = UnityWebRequest.Get("https://www.example.com");
yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success)
{
Debug.Log(www.error);
}
else
{
Debug.Log(www.downloadHandler.text);
}
}
활용 가능성
UnityWebRequest
는 게임에서 HTTP API 호출, 데이터 다운로드 및 업로드, 기타 네트워킹 작업을 수행하는 데 사용할 수 있습니다. 예를 들어, 게임의 점수를 서버에 저장하거나, 사용자 정보를 요청하거나, 실시간 데이터를 가져오는 데 유용합니다.
요약
UnityWebRequest
는 Unity에서 HTTP 요청을 처리하는 데 필요한 클래스입니다.- 다양한 설정을 통해 요청을 최적화하고, 결과를 처리할 수 있습니다.
- 실제 코드 예제를 통해 실습하며 배울 수 있습니다.
더 많은 정보와 사용 방법은 Unity 공식 문서를 참조하십시오.