Heim >Backend-Entwicklung >C++ >Wie mache ich HTTP-GET- und POST-Anfragen in Unity mit C#?
Mit C# HTTP-Anfragen in Unity stellen
Bei der Entwicklung von Spielen oder interaktiven Anwendungen in Unity ist die Möglichkeit, HTTP-Anfragen zu senden, für Aufgaben wie die Benutzerauthentifizierung, das Abrufen von Daten von Webdiensten und das Übermitteln von Spielereignissen von entscheidender Bedeutung. In diesem Artikel wird gezeigt, wie Sie HTTP-GET- und POST-Anfragen mithilfe von C# in Unity senden, um die in der Frage angegebenen Anforderungen zu erfüllen.
UnityWebRequest: Anfrage- und Antwortverarbeitung
UnityWebRequest bietet eine bequeme und effiziente Möglichkeit, Webanfragen in Unity zu stellen. Es verarbeitet intern Coroutinen und Multithreading, stellt asynchrone Anfragen und verhindert das Einfrieren der Benutzeroberfläche.
GET-Anfrage
Um eine GET-Anfrage zu senden, rufen Sie einfach UnityWebRequest.Get() auf und übergeben Sie den URI. Der Antworttext kann über uwr.downloadHandler.text abgerufen werden.
<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>
POST-Anfrage mit Formulardaten
Um eine POST-Anfrage mit Formulardaten zu senden, erstellen Sie das Formular mit WWWForm und übergeben Sie es an 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>
JSON POST-Anfrage
Erstellen Sie für JSON-POST-Anfragen einen Raw-Upload-Handler und legen Sie den Content-Type-Header manuell auf application/json fest.
<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>
PUT, DELETE und Multipart/Form-Data
UnityWebRequest unterstützt auch PUT-, DELETE- und Multipart-/Formulardatenanfragen. Ein detailliertes Beispiel finden Sie im bereitgestellten Codeausschnitt.
Wenn Sie diese Codebeispiele befolgen, können Sie HTTP-Anfragen in Ihrem Unity-Spiel oder Ihrer Unity-Anwendung schnell senden und verarbeiten und erhalten so leistungsstarke Tools für den nahtlosen Datenaustausch.
Das obige ist der detaillierte Inhalt vonWie mache ich HTTP-GET- und POST-Anfragen in Unity mit C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!