unity 使用UnityWebRequest从服务器下载

csharp 复制代码
 IEnumerator WinFile(string url)
    {
        //连接url
        using(UnityWebRequest uwr = UnityWebRequest.Get(url))
        {
            //等待下载
            yield return uwr.SendWebRequest();
            //判断是否连接失败以及是否返回一个错误状态码
            if (uwr.result == UnityWebRequest.Result.ConnectionError || uwr.result == UnityWebRequest.Result.ProtocolError)
            {
                Debug.LogError(uwr.error);
            }
            else
            {
                // 下载成功,获取数据  
                byte[] data = uwr.downloadHandler.data;

                //获取路径txt里面的服务器路径
                string str = System.Text.Encoding.UTF8.GetString(data);
            }
        }
    }

UnityWebRequest.Result是个枚举
InProgress

含义:表示请求尚未完成,即请求正在处理中,还没有收到服务器的响应。

说明:这个状态是请求发出后,到收到服务器响应之前的中间状态。
Success

含义:表示请求成功完成,并且已经收到了服务器的有效响应。

说明:当请求成功,且服务器返回了预期的数据或结果时,该枚举值会被设置。
ConnectionError

含义:表示请求在尝试与服务器建立连接时发生了错误。

说明:这可能是由于网络问题、服务器不可达、DNS解析失败等原因导致的。
ProtocolError

含义:表示请求已经成功发送到服务器,但服务器返回的响应违反了HTTP协议规范,因此被视为无效响应。

说明:这可能是由于服务器配置错误、请求格式不正确或服务器内部错误等原因导致的。
DataProcessingError

含义:表示请求成功收到服务器的响应,但在处理响应数据时发生了错误。

说明:这可能是由于响应数据格式不正确、数据损坏或解析响应数据的代码存在错误等原因导致的。

相关推荐
化雨成烟2 小时前
linux基础命令2
linux·运维·服务器
运维踩坑日记2 小时前
OpenStack 核心服务实战笔记
linux·运维·服务器·笔记·openstack
ESDWAN2 小时前
企业访问海外系统很慢,如何一步步定位问题?
服务器·网络·php
淡海水3 小时前
07-06-源码-.NET Core GC的极致优化技术
unity·架构·c#·.netcore·gc·1024程序员节
野区捕龙为宠3 小时前
Unity 中使用 UnityWebRequest 加载 StreamingAssets 文件夹中的图片
unity·游戏引擎
服务器硬件项目经理3 小时前
《超节点修仙录》· 第一卷·炼气期【第02话】 超节点的「身体构造」——CPU、GPU、内存、网卡都是干啥的
服务器·嵌入式硬件·gru·硬件工程·硬件
~城南花已开~4 小时前
Redfish 事件接收服务搭建指南(Ubuntu Server 实测)
linux·服务器·python·ubuntu
德迅云安全-上官4 小时前
服务器遭攻击如何快速响应?从技术原理到接入防御架构的实战指南
运维·服务器·架构
倔强的石头1064 小时前
【Linux指南】进程通信系列(四):命名管道 FIFO —— 让陌生进程按名字见面
linux·服务器·网络
北里闻箫4 小时前
推荐一款游戏引擎,一剑十八年引擎(YiJian18-Engine) - 跨平台2D/3D ECS 游戏引擎
3d·游戏引擎