Utiliser C# pour effectuer des requêtes HTTP dans Unity
Lors du développement de jeux ou d'applications interactives dans Unity, la possibilité d'envoyer des requêtes HTTP est essentielle pour des tâches telles que l'authentification des utilisateurs, l'obtention de données à partir de services Web et la soumission d'événements de jeu. Cet article montre comment envoyer des requêtes HTTP GET et POST à l'aide de C# dans Unity pour répondre aux exigences spécifiées dans la question.
UnityWebRequest : Gestion des requêtes et des réponses
UnityWebRequest fournit un moyen pratique et efficace d'effectuer des requêtes Web dans Unity. Il gère les coroutines et le multithread en interne, effectue des requêtes asynchrones et empêche le gel de l'interface utilisateur.
Demande GET
Pour envoyer une requête GET, appelez simplement UnityWebRequest.Get() et transmettez l'URI. Le texte de la réponse est accessible via uwr.downloadHandler.text.
<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>
Requête POST contenant les données du formulaire
Pour envoyer une requête POST contenant des données de formulaire, créez le formulaire à l'aide de WWWForm et transmettez-le à UnityWebRequest.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>
Demande JSON POST
Pour les requêtes JSON POST, créez un gestionnaire de téléchargement brut et définissez manuellement l'en-tête Content-Type sur application/json.
<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>
PUT, DELETE et Multipart/Form-Data
UnityWebRequest prend également en charge les requêtes PUT, DELETE et multipart/form-data. Consultez l’extrait de code fourni pour un exemple détaillé.
En suivant ces exemples de code, vous pouvez envoyer et gérer rapidement des requêtes HTTP dans votre jeu ou application Unity, vous offrant ainsi des outils puissants pour un échange de données transparent.
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!