Utilisez C# pour envoyer des requêtes HTTP (GET, POST, PUT, DELETE) dans Unity
Unity fournit des fonctionnalités puissantes pour simplifier l'envoi de requêtes HTTP, y compris les requêtes GET et POST. Voici un guide complet sur la façon de traiter efficacement ces demandes :
Demande GET :
Implémenter les requêtes GET à l'aide de UnityWebRequest
est très simple :
<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>
Requête POST contenant les données du formulaire :
L'envoi des données du formulaire nécessite une WWWForm
instance :
<code class="language-csharp">WWWForm form = new WWWForm(); form.AddField("param1", "value1"); UnityWebRequest uwr = UnityWebRequest.Post(url, form); yield return uwr.SendWebRequest();</code>
Requête POST contenant des données JSON :
Pour les requêtes basées sur 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>
Données et fichiers de formulaire en plusieurs parties :
<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>
Méthodes HTTP autres que GET et POST :
METTRE :
<code class="language-csharp"> byte[] dataToPut = System.Text.Encoding.UTF8.GetBytes("数据"); UnityWebRequest uwr = UnityWebRequest.Put(url, dataToPut); yield return uwr.SendWebRequest();</code>
SUPPRIMER :
<code class="language-csharp"> UnityWebRequest uwr = UnityWebRequest.Delete(url); yield return uwr.SendWebRequest();</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!