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

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-19 21:11:10477semak imbas

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

Menggunakan C# untuk membuat permintaan HTTP dalam Unity

Apabila membangunkan permainan atau aplikasi interaktif dalam Unity, keupayaan untuk menghantar permintaan HTTP adalah penting untuk tugas seperti pengesahan pengguna, mendapatkan data daripada perkhidmatan web dan menyerahkan acara permainan. Artikel ini menunjukkan cara menghantar permintaan HTTP GET dan POST menggunakan C# dalam Unity untuk memenuhi keperluan yang dinyatakan dalam soalan.

UnityWebRequest: Permintaan dan pengendalian respons

UnityWebRequest menyediakan cara yang mudah dan cekap untuk membuat permintaan web dalam Unity. Ia mengendalikan coroutine dan berbilang benang secara dalaman, membuat permintaan tak segerak dan menghalang pembekuan UI.

DAPATKAN permintaan

Untuk menghantar permintaan GET, hanya hubungi UnityWebRequest.Get() dan masukkan URI. Teks respons boleh diakses melalui 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>

Pos permintaan yang mengandungi data borang

Untuk menghantar permintaan POST yang mengandungi data borang, bina borang menggunakan WWWForm dan hantarkannya kepada 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>

Permintaan JSON POST

Untuk permintaan JSON POST, buat pengendali muat naik mentah dan tetapkan secara manual pengepala Jenis Kandungan kepada aplikasi/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>

LETAK, PADAM dan Berbilang Bahagian/Data Borang

UnityWebRequest juga menyokong permintaan PUT, DELETE dan multipart/form-data. Lihat coretan kod yang disediakan untuk contoh terperinci.

Dengan mengikuti contoh kod ini, anda boleh menghantar dan mengendalikan permintaan HTTP dengan cepat dalam permainan atau aplikasi Unity anda, memberikan anda alatan berkuasa untuk pertukaran data yang lancar.

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

Kenyataan:
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