• UnityWebRequest
    • 支持的平台
    • 创建

    UnityWebRequest

    UnityWebRequest提供了一个用于编写HTTP请求和处理HTTP响应的模块化系统。UnityWebRequest系统的主要目标是允许Unity游戏与Web浏览器后端进行交互。它还支持高需求的功能,如分块的HTTP请求,流式POST / PUT操作以及对HTTP标头和动词的完全控制。

    该系统由两层组成:

    1. 高级APIHLAPI)包裹低级API,并提供了方便的接口,用于执行常见的操作
    2. 一个低级别的APILLAPI)提供了更高级的用户最大的灵活性

    支持的平台

    UnityWebRequest系统支持大多数Unity平台:

    1. 所有版本的编辑器和独立播放器
    2. WebGL
    3. 移动平台:iOSAndroid
    4. 通用Windows平台
    5. PS4PSVita
    6. XboxOne
    7. 任天堂开关

    创建

    UnityWebRequest生态系统将HTTP事务分解为三种不同的操作:

    1. 向服务器提供数据
    2. 从服务器接收数据
    3. HTTP流量控制(例如重定向和错误处理)

    为了为高级用户提供更好的界面,这些操作分别由它们自己的对象来管理:

    1. 一个UploadHandler对象处理数据到服务器的传输
    2. 一个DownloadHandler对象处理从服务器收到的数据的接收,缓存和后处理
    3. 一个UnityWebRequest对象管理另外两个对象,并处理HTTP流量控制。该对象是自定义标题和URL定义的位置,以及存储错误和重定向信息的位置。

     6.6 UnityWebRequest  - 图1

    对于任何HTTP事务,正常的代码流是:

    1. 创建一个Web请求对象
    2. 配置Web请求对象
    3. 设置自定义标题
    4. 设置HTTP动词(例如GETPOSTHEAD - Android以外的所有平台上都允许使用自定义动词)
    5. 设置网址
    6. (可选)创建上传处理程序并将其附加到Web请求
    7. 提供要上传的数据
    8. 提供要上传的HTTP表单
    9. (可选)创建一个下载处理程序并将其附加到Web请求
    10. 发送Web请求
    11. 如果在协同程序中,您可能会Send()发出调用结果以等待请求完成
    12. (可选)从下载处理程序读取收到的数据
    13. (可选)从UnityWebRequest对象读取错误信息,HTTP状态代码和响应头

    ?