C#을 사용하여 Unity에서 HTTP 요청 보내기
Unity는 개발자가 인터넷을 통해 효율적으로 데이터를 교환할 수 있도록 사용자 정의 가능한 네트워킹 기능을 제공합니다. 이 가이드에서는 GET 및 POST 작업을 다루면서 C# 및 UnityWebRequest(Unity의 현재 네트워킹 API)를 사용하여 Unity에서 HTTP 요청을 보내는 방법에 대한 포괄적인 개요를 제공합니다.
요청 받기
GET 요청은 서버에서 데이터를 검색하는 데 사용됩니다. UnityWebRequest를 사용하여 GET 요청을 보내려면 다음 코드를 사용하세요.
<code class="language-csharp">IEnumerator GetRequest(string uri) { UnityWebRequest uwr = UnityWebRequest.Get(uri); yield return uwr.SendWebRequest(); if (uwr.isNetworkError) { Debug.Log("发送错误: " + uwr.error); } else { Debug.Log("接收: " + uwr.downloadHandler.text); } }</code>
POST 요청
POST 요청은 서버에 데이터를 보내는 데 사용됩니다. 양식 데이터와 JSON 데이터를 보낼 수 있습니다.
양식 데이터를 사용한 POST 요청
<code class="language-csharp">IEnumerator PostRequest(string url) { WWWForm form = new WWWForm(); form.AddField("myField", "myData"); form.AddField("Game Name", "Mario Kart"); UnityWebRequest uwr = UnityWebRequest.Post(url, form); yield return uwr.SendWebRequest(); if (uwr.isNetworkError) { Debug.Log("发送错误: " + uwr.error); } else { Debug.Log("接收: " + uwr.downloadHandler.text); } }</code>
JSON 데이터를 사용한 POST 요청
<code class="language-csharp">IEnumerator PostRequest(string url, string json) { var uwr = new UnityWebRequest(url, "POST"); byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(json); uwr.uploadHandler = (UploadHandler)new UploadHandlerRaw(jsonToSend); uwr.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer(); uwr.SetRequestHeader("Content-Type", "application/json"); yield return uwr.SendWebRequest(); if (uwr.isNetworkError) { Debug.Log("发送错误: " + uwr.error); } else { Debug.Log("接收: " + uwr.downloadHandler.text); } }</code>
다중 부분 양식 데이터/다중 부분 양식 파일을 사용한 POST 요청
<code class="language-csharp">IEnumerator PostRequest(string url) { List<IMultipartFormSection> formData = new List<IMultipartFormSection>(); formData.Add(new MultipartFormDataSection("field1=foo&field2=bar")); formData.Add(new MultipartFormFileSection("my file data", "myfile.txt")); UnityWebRequest uwr = UnityWebRequest.Post(url, formData); yield return uwr.SendWebRequest(); if (uwr.isNetworkError) { Debug.Log("发送错误: " + uwr.error); } else { Debug.Log("接收: " + uwr.downloadHandler.text); } }</code>
PUT 요청
<code class="language-csharp">IEnumerator PutRequest(string url) { byte[] dataToPut = System.Text.Encoding.UTF8.GetBytes("Hello, This is a test"); UnityWebRequest uwr = UnityWebRequest.Put(url, dataToPut); yield return uwr.SendWebRequest(); if (uwr.isNetworkError) { Debug.Log("发送错误: " + uwr.error); } else { Debug.Log("接收: " + uwr.downloadHandler.text); } }</code>
삭제 요청
<code class="language-csharp">IEnumerator DeleteRequest(string url) { UnityWebRequest uwr = UnityWebRequest.Delete(url); yield return uwr.SendWebRequest(); if (uwr.isNetworkError) { Debug.Log("发送错误: " + uwr.error); } else { Debug.Log("已删除"); } }</code>
위 내용은 C#을 사용하여 Unity에서 HTTP GET, POST, PUT 및 DELETE 요청을 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!