Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Membuat HTTP GET, POST, PUT, dan DELETE Permintaan dalam Unity menggunakan C#?

Bagaimana untuk Membuat HTTP GET, POST, PUT, dan DELETE Permintaan dalam Unity menggunakan C#?

Susan Sarandon
Lepaskan: 2025-01-19 21:01:12
asal
817 orang telah melayarinya

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

Hantar permintaan HTTP menggunakan C# dalam Unity

Dalam pembangunan Unity, menghantar permintaan HTTP adalah penting untuk berinteraksi dengan perkhidmatan rangkaian dan menghantar data. Artikel ini akan membimbing anda secara menyeluruh tentang cara menghantar permintaan GET dan POST dalam C# Unity.

DAPATKAN permintaan dalam Perpaduan

Untuk melaksanakan permintaan GET, anda boleh menggunakan UnityWebRequest.Get. Kodnya adalah seperti berikut:

<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>
Salin selepas log masuk

Pos permintaan yang mengandungi data borang

Untuk menghantar data borang, gunakan WWWForm.

<code class="language-csharp">IEnumerator postRequest(string url)
{
    WWWForm form = new WWWForm();
    form.AddField("myField", "myData");
    form.AddField("游戏名称", "马里奥赛车");

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

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>
Salin selepas log masuk

Permintaan POST yang mengandungi data JSON

Untuk menghantar permintaan POST yang mengandungi data 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>
Salin selepas log masuk

LETAKKAN dan PADAMKAN permintaan

Anda juga boleh menggunakan UnityWebRequest untuk melaksanakan permintaan PUT dan DELETE seperti berikut:

LETAKKAN permintaan

<code class="language-csharp">IEnumerator putRequest(string url)
{
    byte[] dataToPut = System.Text.Encoding.UTF8.GetBytes("你好,这是一个测试");
    UnityWebRequest uwr = UnityWebRequest.Put(url, dataToPut);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>
Salin selepas log masuk

PADAM permintaan

<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>
Salin selepas log masuk

Coretan kod ini menunjukkan cara menghantar permintaan HTTP secara tidak segerak dalam Unity dan mengendalikan respons dengan cekap. Manfaatkan sistem coroutine Unity untuk mengelakkan sekatan benang utama dan memastikan prestasi permainan lancar.

Atas ialah kandungan terperinci Bagaimana untuk Membuat HTTP GET, POST, PUT, dan DELETE Permintaan dalam Unity menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan