"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment envoyer des demandes HTTP Get, Publier, Post et Supprimer dans Unity en utilisant C #?

Comment envoyer des demandes HTTP Get, Publier, Post et Supprimer dans Unity en utilisant C #?

Publié le 2025-02-17
Parcourir:502

How to Send HTTP GET, POST, PUT, and DELETE Requests in Unity using C#?

Envoyer une demande http en unité en utilisant c #

]

Unity fournit des capacités de réseautage personnalisables qui permettent aux développeurs d'échanger efficacement des données sur Internet. Ce guide fournira un aperçu complet de la façon d'envoyer des demandes HTTP dans Unity en utilisant C # et UnityWebRequest (API réseau actuel d'Unity), couvrant les opérations GET et Post.

Obtenez la demande

]

GET La demande est utilisée pour récupérer les données du serveur. Pour envoyer une demande GET en utilisant UnityWebRequest, utilisez le code suivant:

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);
    }
}

Post Request

]

La demande de post est utilisée pour envoyer des données au serveur. Vous pouvez envoyer des données de formulaire et des données JSON.

Demande de publication à l'aide de données de formulaire

]
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);
    }
}

Demande post

ienumerator postRequest (URL de chaîne, chaîne json) { var uwr = new unitywebRequest (url, "post"); Byte [] jSontoSend = new System.Text.Utf8Encoding (). GetBytes (JSON); uwr.uploadhandler = (uploadhandler) new uploadhandlerraraw (jSontoSend); uwr.downloadhandler = (téléchargement-handler) nouveau téléchargement handlerbuffer (); uwr.setRequestHeader ("contenu-type", "application / json"); Rendre le rendement uwr.sendWebRequest (); if (uwr.isnetworkerror) { Debug.log ("Envoyer une erreur:" uwr.error); } autre { Debug.log ("Recevoir:" uwr.DownloadHandler.Text); } }
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);
    }
}
Demande de publication à l'aide de fichiers de formulaires de formulaire multiparte / fichiers de formulaire

]

ienumerator postRequest (URL de chaîne) { List formData = new list (); FormData.Add (nouveau multipartFormDatasection ("field1 = foo & field2 = bar")); formdata.add (nouveau multipartFormFilesection ("mes données de fichier", "myfile.txt")); UnitywebRequest uwr = unitywebRequest.post (url, formdata); Rendre le rendement uwr.sendWebRequest (); if (uwr.isnetworkerror) { Debug.log ("Envoyer une erreur:" uwr.error); } autre { Debug.log ("Recevoir:" uwr.DownloadHandler.Text); } }
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);
    }
}
put la demande

]

ienumerator putRequest (URL de chaîne) { octet [] datatoput = system.text.encoding.utf8.getBytes ("Bonjour, c'est un test"); UnitywebRequest uwr = unitywebRequest.put (URL, datatoput); Rendre le rendement uwr.sendWebRequest (); if (uwr.isnetworkerror) { Debug.log ("Envoyer une erreur:" uwr.error); } autre { Debug.log ("Recevoir:" uwr.DownloadHandler.Text); } }
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);
    }
}
supprimer la demande

]

ienumerator DeleteRquest (URL de chaîne) { UnityWebRequest UWR = UnityWebRequest.Delete (URL); Rendre le rendement uwr.sendWebRequest (); if (uwr.isnetworkerror) { Debug.log ("Envoyer une erreur:" uwr.error); } autre { Debug.log ("supprimé"); } }
 
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3