Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membuat Permintaan HTTP GET dan POST dalam Unity menggunakan 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!