UnityWebRequest 提供了一个模块化系统,用于构成 HTTP 请求和处理 HTTP 响应。UnityWebRequest 系统的主要目标是让 Unity 游戏与 Web 浏览器后端进行交互。该系统还支持高需求功能,例如分块 HTTP 请求、流式 POST/PUT 操作以及对 HTTP 标头和动词的完全控制。
该系统由两层组成:
UnityWebRequest 系统支持大多数 Unity 平台:
UnityWebRequest 生态系统将 HTTP 事务分解为三个不同的操作:
为了给高级用户提供更好的界面,这些操作均由自己的对象进行管理:
UploadHandler
对象处理数据到服务器的传输DownloadHandler
对象处理从服务器接收的数据的接收、缓冲和后处理UnityWebRequest
对象管理其他两个对象,还处理 HTTP 流量控制。此对象是定义自定义标头和 URL 的位置,也是存储错误和重定向信息的位置。对于任何 HTTP 事务,正常的代码流程如下:
Send()
调用的结果以等待请求完成
(可选)读取从下载处理程序接收的数据
(可选)从 UnityWebRequest 对象中读取错误信息、HTTP 状态码和响应标头