C# を使用して Unity で 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、およびマルチパート/フォームデータ
UnityWebRequest は、PUT、DELETE、およびマルチパート/フォームデータリクエストもサポートしています。詳細な例については、提供されているコード スニペットを参照してください。
これらのコード例に従うことで、Unity ゲームまたはアプリケーションで HTTP リクエストを迅速に送信して処理でき、シームレスなデータ交換のための強力なツールが得られます。
以上がC# を使用して Unity で HTTP GET および POST リクエストを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。