ホームページ >バックエンド開発 >C++ >C# を使用して Unity で HTTP GET、POST、PUT、および DELETE リクエストを行う方法

C# を使用して Unity で HTTP GET、POST、PUT、および DELETE リクエストを行う方法

Susan Sarandon
Susan Sarandonオリジナル
2025-01-19 21:01:12890ブラウズ

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

Unity で C# を使用して HTTP リクエストを送信します

Unity 開発では、HTTP リクエストの送信は、ネットワーク サービスとやり取りしてデータを送信するために重要です。この記事では、Unity の C# で GET リクエストと POST リクエストを送信する方法を包括的に説明します。

Unity での GET リクエスト

GET リクエストを実行するには、UnityWebRequest.Get を使用できます。コードは次のとおりです:

<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 リクエスト

フォームデータの投稿にはWWWFormを使用します。

<code class="language-csharp">IEnumerator postRequest(string url)
{
    WWWForm form = new WWWForm();
    form.AddField("myField", "myData");
    form.AddField("游戏名称", "马里奥赛车");

    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 リクエストを送信するには:

<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 リクエスト

次のように UnityWebRequest を使用して PUT リクエストと DELETE リクエストを実行することもできます。

PUT リクエスト

<code class="language-csharp">IEnumerator putRequest(string url)
{
    byte[] dataToPut = System.Text.Encoding.UTF8.GetBytes("你好,这是一个测试");
    UnityWebRequest uwr = UnityWebRequest.Put(url, dataToPut);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("接收: " + uwr.downloadHandler.text);
    }
}</code>

削除リクエスト

<code class="language-csharp">IEnumerator deleteRequest(string url)
{
    UnityWebRequest uwr = UnityWebRequest.Delete(url);
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("发送错误: " + uwr.error);
    }
    else
    {
        Debug.Log("已删除");
    }
}</code>

これらのコード スニペットは、Unity で HTTP リクエストを非同期に送信し、応答を効率的に処理する方法を示しています。 Unity のコルーチン システムを活用して、メインスレッドのブロックを防ぎ、スムーズなゲーム パフォーマンスを確保します。

以上がC# を使用して Unity で HTTP GET、POST、PUT、および DELETE リクエストを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。