Maison > développement back-end > C++ > Comment envoyer des requêtes HTTP GET, POST, PUT et DELETE dans Unity à l'aide de C# ?

Comment envoyer des requêtes HTTP GET, POST, PUT et DELETE dans Unity à l'aide de C# ?

Patricia Arquette
Libérer: 2025-01-19 21:21:12
original
880 Les gens l'ont consulté

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

Envoi de requêtes HTTP dans Unity en utilisant C#

Unity offre des fonctionnalités réseau 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 requêtes HTTP dans Unity à l'aide de C# et UnityWebRequest (l'API réseau actuelle de Unity), couvrant les opérations GET et POST.

Demande GET

La requête GET est utilisée pour récupérer les données du serveur. Pour envoyer une requête GET à l'aide de UnityWebRequest, utilisez le code suivant :

<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

Demande POST

La requête POST est utilisée pour envoyer des données au serveur. Vous pouvez envoyer des données de formulaire et des données JSON.

Requête POST utilisant les données du formulaire

<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

Requête POST utilisant des données 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

Requête POST utilisant des données de formulaire en plusieurs parties/un fichier de formulaire en plusieurs parties

<code class="language-csharp">IEnumerator PostRequest(string url)
{
    List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
    formData.Add(new MultipartFormDataSection("field1=foo&field2=bar"));
    formData.Add(new MultipartFormFileSection("my file data", "myfile.txt"));

    UnityWebRequest uwr = UnityWebRequest.Post(url, formData);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>
Copier après la connexion

Demande PUT

<code class="language-csharp">IEnumerator PutRequest(string url)
{
    byte[] dataToPut = System.Text.Encoding.UTF8.GetBytes("Hello, This is a test");
    UnityWebRequest uwr = UnityWebRequest.Put(url, dataToPut);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>
Copier après la connexion

Demande de SUPPRESSION

<code class="language-csharp">IEnumerator DeleteRequest(string url)
{
    UnityWebRequest uwr = UnityWebRequest.Delete(url);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("已删除");
    }
}</code>
Copier après la connexion

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