在Unity中使用C#發送HTTP請求(GET、POST、PUT、DELETE)
Unity 提供了強大的功能來簡化HTTP請求的發送,包括GET和POST請求。以下是如何有效率地處理這些請求的完整指南:
GET請求:
使用UnityWebRequest
實作GET要求非常簡單:
<code class="language-csharp">UnityWebRequest uwr = UnityWebRequest.Get(uri); yield return uwr.SendWebRequest(); if (uwr.isNetworkError) Debug.Log("错误: " + uwr.error); else Debug.Log("接收: " + uwr.downloadHandler.text);</code>
包含表單資料的POST請求:
傳送表單資料需要一個WWWForm
實例:
<code class="language-csharp">WWWForm form = new WWWForm(); form.AddField("param1", "value1"); UnityWebRequest uwr = UnityWebRequest.Post(url, form); yield return uwr.SendWebRequest();</code>
包含JSON資料的POST請求:
對於基於JSON的請求:
<code class="language-csharp">string json = JsonUtility.ToJson(dataObject); var uwr = new UnityWebRequest(url, "POST"); byte[] jsonToSend = System.Text.UTF8Encoding.UTF8.GetBytes(json); uwr.uploadHandler = new UploadHandlerRaw(jsonToSend); uwr.downloadHandler = new DownloadHandlerBuffer(); uwr.SetRequestHeader("Content-Type", "application/json"); yield return uwr.SendWebRequest();</code>
多部分錶單資料與檔案:
<code class="language-csharp">List<IMultipartFormSection> formData = new List<IMultipartFormSection>(); formData.Add(new MultipartFormDataSection("name=John&age=30")); formData.Add(new MultipartFormFileSection("myFile", "myfile.txt")); UnityWebRequest uwr = UnityWebRequest.Post(url, formData); yield return uwr.SendWebRequest();</code>
GET和POST以外的HTTP方法:
PUT:
<code class="language-csharp"> byte[] dataToPut = System.Text.Encoding.UTF8.GetBytes("数据"); UnityWebRequest uwr = UnityWebRequest.Put(url, dataToPut); yield return uwr.SendWebRequest();</code>
DELETE:
<code class="language-csharp"> UnityWebRequest uwr = UnityWebRequest.Delete(url); yield return uwr.SendWebRequest();</code>
以上是如何使用 C# 在 Unity 中傳送 HTTP 請求(GET、POST、PUT、DELETE)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!