Version: 2023.1

UnityWebRequest

class in UnityEngine.Networking

切换到手册

描述

Provides methods to communicate with web servers.

UnityWebRequest handles the flow of HTTP communication with web servers. To download and upload data, use DownloadHandler and UploadHandler respectively.

UnityWebRequest includes static utility functions that return UnityWebRequest instances configured for common use cases. For example: UnityWebRequest.Get UnityWebRequest.Post UnityWebRequest.Put To send a web request from a UnityWebRequest instance, call UnityWebRequest.SendWebRequest. After the UnityWebRequest begins to communicate with a remote server, you can't change any of the properties in that UnityWebRequest instance. HTTPS is supported, server certificate is validated against the root certificate store available on the system the app runs on. Validation can be disabled (for example for development server using self-signed certificate) or changed to a custom handling by assigning UnityWebRequest.certificateHandler property.

Depending on the platform your application runs on, UnityWebRequest either sets the User-Agent header itself or leaves it for the operating system to set. UnityWebRequest sets the User-Agent header for all platforms except iOS, Xbox platforms, and WebGL.

Note: From Unity 2019.2, UnityWebRequest sets the User-Agent header for Android devices. In earlier releases, the operating system set the User-Agent header.

Note: If the device that the application runs on uses proxy settings, UnityWebRequest applies the proxy settings after the application sends the request.

静态变量

kHttpVerbCREATE字符串“CREATE”,通常用作 HTTP CREATE 请求的动词。
kHttpVerbDELETE字符串“DELETE”,通常用作 HTTP DELETE 请求的动词。
kHttpVerbGET字符串“GET”,通常用作 HTTP GET 请求的动词。
kHttpVerbHEAD字符串“HEAD”,通常用作 HTTP HEAD 请求的动词。
kHttpVerbPOST字符串“POST”,通常用作 HTTP POST 请求的动词。
kHttpVerbPUT字符串“PUT”,通常用作 HTTP PUT 请求的动词。

变量

certificateHandler拥有对 CertificateHandler 对象的引用,该对象可管理此 UnityWebRequest 的证书验证。
disposeCertificateHandlerOnDispose如果值为 true,则任何附加到此 UnityWebRequest 的 CertificateHandler 将在调用 UnityWebRequest.Dispose 时自动调用 CertificateHandler.Dispose。
disposeDownloadHandlerOnDispose如果值为 true,则任何附加到此 UnityWebRequest 的 DownloadHandler 将在调用 UnityWebRequest.Dispose 时自动调用 DownloadHandler.Dispose。
disposeUploadHandlerOnDispose如果值为 true,则任何附加到此 UnityWebRequest 的 UploadHandler 将在调用 UnityWebRequest.Dispose 时自动调用 UploadHandler.Dispose。
downloadedBytes返回系统从远程服务器下载的主体数据的字节数。(只读)
downloadHandler拥有对 DownloadHandler 对象的引用,该对象可管理此 UnityWebRequest 从远程服务器接收的主体数据。
downloadProgress返回一个 0.0 和 1.0 之间的浮点值,用于表示从服务器下载主体数据的进度。(只读)
error一个可读字符串,用于描述此 UnityWebRequest 对象在处理 HTTP 请求或响应时遇到的任何系统错误。(只读)
isDone当 UnityWebRequest 结束与远程服务器的通信后,返回 true。(只读)
isModifiable当 UnityWebRequest 的配置属性可更改时,返回 true。(只读)
method定义此 UnityWebRequest 使用的 HTTP 动词,如 GET 或 POST。
redirectLimit表示在此 UnityWebRequest 将执行多少次重定向后,会发生“超出重定向限制”系统错误而停止。
responseCode服务器返回的数字 HTTP 响应代码,如 200、404 或 500。(只读)
resultThe result of this UnityWebRequest.
timeout将 UnityWebRequest 设置为在经过 timeout 中的秒数后尝试中止。
uploadedBytes返回系统上传到远程服务器的主体数据的字节数。(只读)
uploadHandler拥有对 UploadHandler 对象的引用,该对象可管理要上传到远程服务器的主体数据。
uploadProgress返回一个 0.0 和 1.0 之间的浮点值,用于表示将主体数据上传到服务器的进度。(只读)
uri定义 UnityWebRequest 要通信的目标 URI。
url定义 UnityWebRequest 要通信的目标 URL。
useHttpContinue确定此 UnityWebRequest 是否将在其传出请求的标头中包含 Expect: 100-Continue。(默认值:true)。

构造函数

UnityWebRequest使用默认选项创建 UnityWebRequest,且不附加 DownloadHandler 或 UploadHandler。默认方法为 GET。

公共函数

Abort如果 UnityWebRequest 在进行中,请尽快停止。
Dispose表示不再使用此 UnityWebRequest,并且应清理它使用的所有资源。
GetRequestHeader检索自定义请求标头的值。
GetResponseHeader从收到的最新 HTTP 响应中检索响应标头的值。
GetResponseHeaders检索包含着此 UnityWebRequest 在最新 HTTP 响应中收到的所有响应标头的字典。
SendWebRequest开始与远程服务器通信。
SetRequestHeader将 HTTP 请求标头设置为自定义值。

静态函数

ClearCookieCache清除缓存中存储的 Cookie。
Delete创建针对 HTTP DELETE 进行配置的 UnityWebRequest。
EscapeURL对字符串中的字符进行转义以确保其支持 URL。
GenerateBoundary生成一个随机的 40 字节数组来用作多部分表单边界。
Get为 HTTP GET 创建 UnityWebRequest。
Head创建一个经配置可发送 HTTP HEAD 请求的 UnityWebRequest。
Post创建一个经配置可通过 HTTP POST 向服务器发送表单数据的 UnityWebRequest。
PostWwwForm创建一个经配置可通过 HTTP POST 向服务器发送表单数据的 UnityWebRequest。
Put创建一个经配置可通过 HTTP PUT 将原始数据上传到远程服务器的 UnityWebRequest。
SerializeFormSections将 IMultipartFormSection 对象列表转换为包含原始多部分表单数据的字节数组。
SerializeSimpleForm将字符串字典序列化为包含经过 URL 编码的 UTF8 字符的字节数组。
UnEscapeURL将支持 URL 的转义序列转换回正常文本。