首頁 >後端開發 >C++ >如何使用 C# 在 Unity 中發出 HTTP GET 和 POST 請求?

如何使用 C# 在 Unity 中發出 HTTP GET 和 POST 請求?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-19 21:11:10477瀏覽

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

在Unity中使用C#進行HTTP請求

在Unity中開發遊戲或互動式應用程式時,發送HTTP請求的能力對於用戶身份驗證、從Web服務獲取資料和提交遊戲事件等任務至關重要。本文示範如何在Unity中使用C#發送HTTP GET和POST請求,以滿足問題中指定的要求。

UnityWebRequest:請求與回應處理

UnityWebRequest提供了一種方便且有效率的方法來在Unity中發出Web請求。它內部處理協程和多線程,進行非同步請求並防止UI凍結。

GET請求

要傳送GET請求,只要呼叫UnityWebRequest.Get()並傳入URI。回應文字可以透過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>

包含表單資料的POST請求

要傳送包含表單資料的POST請求,請使用WWWForm建立表單並將其傳遞給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請求

對於JSON POST請求,請建立一個原始上傳處理程序並將Content-Type標頭手動設定為application/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>

PUT、DELETE和Multipart/Form-Data

UnityWebRequest也支援PUT、DELETE和multipart/form-data請求。有關詳細範例,請參閱提供的程式碼片段。

透過遵循這些程式碼範例,您可以快速地在Unity遊戲中或應用程式中發送和處理HTTP請求,從而為您提供強大的工具來實現無縫的資料交換。

以上是如何使用 C# 在 Unity 中發出 HTTP GET 和 POST 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn