Version: 2021.2
言語: 日本語
public static Networking.UnityWebRequest Post (string uri, string postData);

パラメーター

uri フォームデータが送信されるターゲット URI
postData Form body data. Will be URLEncoded prior to transmission.

戻り値

UnityWebRequest UnityWebRequest は POST を介して uri にフォームデータを送信するように設定します。

説明

Creates a UnityWebRequest configured to send form data to a server via HTTP POST.

このメソッドは UnityWebRequest を作成し、url をストリングの引数 uri にセットし、methodPOST にセットします。 Content-Type ヘッダーはデフォルトでは application/x-www-form-urlencoded にセットされます。

Note: サーバーバックエンド多くの言語は application/x-www-form-urlencodedmultipart/form-data よりも他のエンコーディングにセットする Content-Type ヘッダーと一緒に POST リクエストを正しく処理しません。

このメソッドは DownloadHandlerBufferUnityWebRequest にアタッチします。これは利便性のためにほとんどのユーザーが特に REST API のケースでサーバーからの応答を確認するために DownloadHandler を使うことを予想しています。

The data in postData will be escaped, then interpreted into a byte stream via System.Text.Encoding.UTF8. The resulting byte stream will be stored in an UploadHandlerRaw and the Upload Handler will be attached to this UnityWebRequest.

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

public class MyBehavior : MonoBehaviour { void Start() { StartCoroutine(Upload()); }

IEnumerator Upload() { WWWForm form = new WWWForm(); form.AddField("myField", "myData");

using (UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form)) { yield return www.SendWebRequest();

if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } } }

public static Networking.UnityWebRequest Post (string uri, WWWForm formData);

パラメーター

uri フォームデータが送信されるターゲット URI
formData 書式設定とリモートサーバーへの送信のためフィールドをフォームします。またはファイルを WWWForm オブジェクトでカプセル化します。

戻り値

UnityWebRequest UnityWebRequest は POST を介して uri にフォームデータを送信するように設定します。

説明

UnityWebRequest は HTTP POST を介してサーバーにフォームデータを送信する設定を作成します。

このメソッドは UnityWebRequest を作成し、ストリングの引数 uriurl をセットし、methodPOST にセットします。 Content-Type ヘッダーは formData パラメーターからコピーされます。

このメソッドは DownloadHandlerBufferUnityWebRequest にアタッチします。これは利便性のためにほとんどのユーザーが特に REST API のケースでサーバーからの応答を確認するために DownloadHandler を使うことを予想しています。

FormData オブジェクトはそのコンテンツに応じて適切にフォーマットされたバイトストリームを生成します。結果としてバイトストリームを UploadHandlerRaw に格納し、アップロードハンドラーはこの UnityWebRequest にアタッチします。

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

public class MyBehavior2 : MonoBehaviour { void Start() { StartCoroutine(Upload()); }

IEnumerator Upload() { WWWForm form = new WWWForm(); form.AddField("myField", "myData");

UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form); yield return www.SendWebRequest();

if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } }

public static Networking.UnityWebRequest Post (string uri, List<IMultipartFormSection> multipartFormSections);
public static Networking.UnityWebRequest Post (string uri, List<IMultipartFormSection> multipartFormSections, byte[] boundary);

パラメーター

uri フォームデータが送信されるターゲット URI
multipartFormSections フォームフィールドのリストまたはフォーマットされたリモートサーバーに送信するファイル
boundary マルチパートフォームのフォームフィールドを分離するとき使用されるユニークなバウンダリ(境界)文字列です。供給されていない場合、バウンダリは生成されます。

戻り値

UnityWebRequest UnityWebRequest は POST を介して uri にフォームデータを送信するように設定します。

説明

UnityWebRequest は HTTP POST を介してサーバーにフォームデータを送信する設定を作成します。

このメソッドは UnityWebRequest を作成し、url をストリングの引数 uri にセットし、methodPOST にセットします。 Content-Type ヘッダーは適切なバウンダリ仕様で multipart/form-data にセットされます。

カスタム boundary バイト配列を指定する場合はバイトシーケンスが一意であること保証する必要があり、フォームデータのボディのどこであろうとでてこない必要があることに注意してください。マルチパートフォームとフォームバウンダリーの詳細については RFC 2388 を参照してください。

このメソッドは DownloadHandlerBufferUnityWebRequest にアタッチします。これは利便性のためにほとんどのユーザーが特に REST API のケースでサーバーからの応答を確認するために DownloadHandler を使うことを予想しています。

multipartFormSectionsIMultipartFormSection オブジェクトリストは有効なマルチパートフォームボディにフォーマットされます。各オブジェクトは個別のフォームセクションとしてインタプリタされます。このマルチパートフォームボディのフォーマット設定から生じるバイトストリームは UploadHandlerRaw で保存され、この UnityWebRequest にアタッチされます。

IMultipartFormSection の使用

フォームデータ指定をより細かく制御する方法を提供するために UnityWebRequest システムには (ユーザーが実装可能な) IMultipartFormSection インターフェイスが含まれています。標準的なアプリケーションのために Unity にデフォルトでデータとファイルセクションの実装が用意されています。

参照: MultipartFormDataSection 、[[MultipartFormFileSection]

IMultipartFormSection リストオブジェクトはこのメソッドを提供できます。リストのメンバーは RFC 2388 で定義されているマルチパート形式にフォーマットされます。

マルチパートフォームはフィールド間の分離を定義する任意のバウンダリーストリングが必要となります。バウンダリーストリングはリクエストにおいてどのフォームフィールドのボディ内のどこにも存在しないと保証しなければなりません。バウンダリーを指定しない場合、Unity は バウンダリーを生成します。生成されたバウンダリーは 40 のランダムな Printable バイトです。フォームフィールドデータと正確な一致は必要とされていません。ただし、アプリケーションがカスタムのバウンダリーストリングを指定する必要がある場合、行うことがあります。

指定したバウンダリーがあれば、バイト配列から UTF-8 文字列に自動的に変換されます。

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

public class MyBehavior3 : MonoBehaviour { void Start() { StartCoroutine(Upload()); }

IEnumerator Upload() { WWWForm form = new WWWForm(); form.AddField("myField", "myData");

UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form); yield return www.SendWebRequest();

if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } }

public static Networking.UnityWebRequest Post (string uri, Dictionary<string,string> formFields);

パラメーター

uri フォームデータが送信されるターゲット URI
formFields フォームフィールドのキーと値を示すストリング。自動的に URL エンコードされたフォームボディにフォーマットされます。

戻り値

UnityWebRequest UnityWebRequest は POST を介して uri にフォームデータを送信するように設定します。

説明

UnityWebRequest は HTTP POST を介してサーバーにフォームデータを送信する設定を作成します。

このメソッドは UnityWebRequest を作成し、ストリングの引数 uriurl をセットして /method/を POST にセットします。 Content-Type ヘッダーは application/x-www-form-urlencoded にセットされます。

The Dictionary of strings in formFields will be interpreted as a list of form fields whose field IDs are the dictionary keys, and whose field values are the dictionary values. Both keys and values will be escaped, and then joined into a URL-encoded form string. (for example, key1=value1&key2=value2).

このメソッドはデフォルトでは DownloadHandlerBufferUnityWebRequest にアタッチします。これは利便性のために、特に REST API のケースでほとんどのユーザーがサーバーからの応答を確認する DownloadHandler を使用すると予想してます。

FormFields から生成される URL エンコードされたフォームストリングをバイトストリームに変換して UploadHandlerRaw に格納します。これは UnityWebRequest にアタッチされます。

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

public class MyBehavior4 : MonoBehaviour { void Start() { StartCoroutine(Upload()); }

IEnumerator Upload() { WWWForm form = new WWWForm(); form.AddField("myField", "myData");

UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form); yield return www.SendWebRequest();

if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } }