Maison > développement back-end > C++ > Comment effectuer des requêtes HTTP GET et POST dans Unity en utilisant C# ?

Comment effectuer des requêtes HTTP GET et POST dans Unity en utilisant C# ?

Mary-Kate Olsen
Libérer: 2025-01-19 21:11:10
original
473 Les gens l'ont consulté

How to Make HTTP GET and POST Requests in Unity using C#?

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal