uri | 将字符串传输到的目标 URI。 |
postData | 表单主体数据。将转换为 UTF-8 字符串。 |
contentType | Content-Type 标头的值,例如 application/json。 |
UnityWebRequest 配置为通过 POST
将字符串发送到 uri
的 UnityWebRequest。
创建一个 UnityWebRequest,该 Web 请求配置为通过 HTTP POST
将表单数据发送到服务器。
此方法创建一个 UnityWebRequest,将 url
设置为字符串 uri
参数,并将 method
设置为 POST
。 Content-Type
标头将设置为 contentType
。
此方法将 DownloadHandlerBuffer 附加到 UnityWebRequest。这很方便,因为我们预计大多数用户会使用 DownloadHandler 检查来自服务器的回复,尤其是在 REST API 的情况下。postData
中的数据将通过 System.Text.Encoding.UTF8 解释为字节流。生成的字节流将存储在 UploadHandlerRaw 中,并且上传处理程序将附加到此 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.LogError(www.error); } else { Debug.Log("Form upload complete!"); } } } }
uri | 将表单数据传输到的目标 URI。 |
formData | 封装在 WWWForm 对象中的表单字段或文件,用于格式化和传输到远程服务器。 |
UnityWebRequest 配置为通过 POST
将表单数据发送到 uri
的 UnityWebRequest。
创建 UnityWebRequest,该 Web 请求配置为通过 HTTP POST
将表单数据发送到服务器。
此方法创建一个 UnityWebRequest,将 url
设置为字符串 uri
参数,并将 method
设置为 POST
。 Content-Type
标头将从 formData
参数复制。
此方法将 DownloadHandlerBuffer 附加到 UnityWebRequest。这很方便,因为我们预计大多数用户会使用 DownloadHandler 检查来自服务器的回复,尤其是在 REST API 的情况下。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");
using UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form); yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success) { Debug.LogError(www.error); } else { Debug.Log("Form upload complete!"); } } }
uri | 将表单数据传输到的目标 URI。 |
multipartFormSections | 要格式化并传输到远程服务器的表单字段或文件的列表。 |
boundary | 唯一的边界字符串,将在分隔多部分表单中的表单字段时使用。如果未提供,则会为您生成边界。 |
UnityWebRequest 配置为通过 POST
将表单数据发送到 uri
的 UnityWebRequest。
创建 UnityWebRequest,该 Web 请求配置为通过 HTTP POST
将表单数据发送到服务器。
此方法创建一个 UnityWebRequest,将 url
设置为字符串 uri
参数,并将 method
设置为 POST
。 Content-Type
标头将设置为 multipart/form-data
,并带有适当的边界规范。
如果您提供自定义的 boundary
字节数组,请注意,字节序列必须保证唯一,并且不得出现在表单数据的任何主体中。有关多部分表单和表单边界的更多信息,请参阅 RFC 2388。
此方法将 DownloadHandlerBuffer 附加到 UnityWebRequest。这很方便,因为我们预计大多数用户会使用 DownloadHandler 检查来自服务器的回复,尤其是在 REST API 的情况下。multipartFormSections
中的 IMultipartFormSection 对象列表将被格式化为有效的 multipart form 主体。每个对象将被解释为一个离散的表单部分。格式化此多部分表单主体后生成的字节流将存储在 UploadHandlerRaw 中,并附加到此 UnityWebRequest。
使用 IMultipartFormSection
为了更好地控制您指定表单数据的方式,UnityWebRequest 系统包含一个(用户可实现的)IMultipartFormSection 接口。对于标准应用程序,Unity 还为数据和文件部分提供了默认实现。
其他资源:MultipartFormDataSection 和 MultipartFormFileSection。
可以为此方法提供一个 IMultipartFormSection 对象列表。列表的成员将被格式化为多部分表单,如 RFC 2388 中所定义。
多部分表单需要一个唯一的边界字符串来定义字段之间的分隔。必须保证边界字符串在请求中任何表单字段的主体中都不存在。如果您不提供边界,Unity 将生成一个。生成的边界是 40 个随机的可打印字节,实际上永远不会与表单字段数据冲突。但是,如果您的应用程序要求您提供自定义边界字符串,则可以这样做。
提供的边界(如果有)将自动从字节数组转换为 UTF8 字符。
using UnityEngine; using UnityEngine.Networking; using System.Collections; using System.Collections.Generic;
public class MyBehavior3 : MonoBehaviour { void Start() { StartCoroutine(Upload()); }
IEnumerator Upload() { List<IMultipartFormSection> form = new(); form.Add(new MultipartFormDataSection("myField", "myData"));
using UnityWebRequest www = UnityWebRequest.Post("https://httpbin.org/post", form); yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success) { Debug.LogError(www.error); } else { Debug.Log("Form upload complete!"); } } }
uri | 将表单数据传输到的目标 URI。 |
formFields | 指示表单字段的键和值的字符串。将自动格式化为 URL 编码的表单主体。 |
UnityWebRequest 配置为通过 POST
将表单数据发送到 uri
的 UnityWebRequest。
创建 UnityWebRequest,该 Web 请求配置为通过 HTTP POST
将表单数据发送到服务器。
此方法创建一个 UnityWebRequest,将 url
设置为字符串 uri
参数,并将 method
设置为 POST
。 Content-Type
标头将设置为 application/x-www-form-urlencoded
。formFields
中的字符串字典将被解释为表单字段列表,其字段 ID 为字典键,其字段值为字典值。键和值都将被转义,然后连接成 URL 编码的表单字符串。(例如,key1=value1&key2=value2
)。
此方法默认情况下会将 DownloadHandlerBuffer 附加到 UnityWebRequest。这很方便,因为我们预计大多数用户会使用 DownloadHandler 检查来自服务器的回复,尤其是在 REST API 的情况下。
从 formFields
生成的 URL 编码的表单字符串将转换为字节流并存储在 UploadHandlerRaw 中,该处理程序将附加到此 UnityWebRequest。
using UnityEngine; using UnityEngine.Networking; using System.Collections; using System.Collections.Generic;
public class MyBehavior4 : MonoBehaviour { void Start() { StartCoroutine(Upload()); }
IEnumerator Upload() { Dictionary<string, string> form = new(); form["myField"] = "myData";
using UnityWebRequest www = UnityWebRequest.Post("https://httpbin.org/post", form); yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success) { Debug.LogError(www.error); } else { Debug.Log("Form upload complete!"); } } }