uri | The target URI to which the string will be transmitted. |
postData | Form body data. Will be converted to UTF-8 string. |
contentType | Value for the Content-Type header, for example application/json. |
UnityWebRequest
A UnityWebRequest configured to send string to uri
via POST
.
Creates a UnityWebRequest configured to send form data to a server via HTTP POST
.
This method creates a UnityWebRequest, sets the url
to the string uri
argument and sets the method
to POST
. The Content-Type
header will be set to contentType
.
このメソッドは DownloadHandlerBuffer を UnityWebRequest にアタッチします。これは利便性のためにほとんどのユーザーが特に REST API のケースでサーバーからの応答を確認するために DownloadHandler を使うことを予想しています。
The data in postData
will be 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() { using (UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myapi", "{ \"field1\": 1, \"field2\": 2 }", "application/json")) { yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Debug.Log("Form upload complete!"); } } } }
uri | フォームデータが送信されるターゲット URI |
formData | 書式設定とリモートサーバーへの送信のためフィールドをフォームします。またはファイルを WWWForm オブジェクトでカプセル化します。 |
UnityWebRequest
UnityWebRequest は POST
を介して uri
にフォームデータを送信するように設定します。
UnityWebRequest は HTTP POST
を介してサーバーにフォームデータを送信する設定を作成します。
このメソッドは UnityWebRequest を作成し、ストリングの引数 uri
に url
をセットし、method
を POST
にセットします。 Content-Type
ヘッダーは formData
パラメーターからコピーされます。
このメソッドは DownloadHandlerBuffer を UnityWebRequest にアタッチします。これは利便性のためにほとんどのユーザーが特に 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!"); } } }
uri | フォームデータが送信されるターゲット URI |
multipartFormSections | フォームフィールドのリストまたはフォーマットされたリモートサーバーに送信するファイル |
boundary | マルチパートフォームのフォームフィールドを分離するとき使用されるユニークなバウンダリ(境界)文字列です。供給されていない場合、バウンダリは生成されます。 |
UnityWebRequest
UnityWebRequest は POST
を介して uri
にフォームデータを送信するように設定します。
UnityWebRequest は HTTP POST
を介してサーバーにフォームデータを送信する設定を作成します。
このメソッドは UnityWebRequest を作成し、url
をストリングの引数 uri
にセットし、method
を POST
にセットします。 Content-Type
ヘッダーは適切なバウンダリ仕様で multipart/form-data
にセットされます。
カスタム boundary
バイト配列を指定する場合はバイトシーケンスが一意であること保証する必要があり、フォームデータのボディのどこであろうとでてこない必要があることに注意してください。マルチパートフォームとフォームバウンダリーの詳細については RFC 2388 を参照してください。
このメソッドは DownloadHandlerBuffer を UnityWebRequest にアタッチします。これは利便性のためにほとんどのユーザーが特に REST API のケースでサーバーからの応答を確認するために DownloadHandler を使うことを予想しています。multipartFormSections
のIMultipartFormSection オブジェクトリストは有効なマルチパートフォームボディにフォーマットされます。各オブジェクトは個別のフォームセクションとしてインタプリタされます。このマルチパートフォームボディのフォーマット設定から生じるバイトストリームは 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!"); } } }
uri | フォームデータが送信されるターゲット URI |
formFields | フォームフィールドのキーと値を示すストリング。自動的に URL エンコードされたフォームボディにフォーマットされます。 |
UnityWebRequest
UnityWebRequest は POST
を介して uri
にフォームデータを送信するように設定します。
UnityWebRequest は HTTP POST
を介してサーバーにフォームデータを送信する設定を作成します。
このメソッドは UnityWebRequest を作成し、ストリングの引数 uri
に url
をセットして /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
).
このメソッドはデフォルトでは DownloadHandlerBuffer を UnityWebRequest にアタッチします。これは利便性のために、特に 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!"); } } }