Heim >Backend-Entwicklung >C++ >Wie mache ich HTTP-GET- und POST-Anfragen in Unity mit C#?

Wie mache ich HTTP-GET- und POST-Anfragen in Unity mit C#?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-19 21:11:10474Durchsuche

How to Make HTTP GET and POST Requests in Unity using 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn