Unity网络请求UnityWebRequest

admin1年前Unity插件110

UnityWebRequest 可以实现网络数据请求功能支持GET post请求方法


1:GET请求服务器数据


    public static IEnumerator GetText(string url) {

        UnityWebRequest request =  UnityWebRequest.Get(url);
        yield return request.SendWebRequest();
        if (request.isNetworkError || request.isHttpError)
        {
            Debug.Log(request.error);
        }
        else
        {
            // 将结果显示为文本
            Debug.Log(request.downloadHandler.text);
            Result res =  JsonUtility.FromJson<Result>(request.downloadHandler.text);


        }
    }



2:下载纹理贴图

    //下载纹理http://www.my-server.com/image.png
    public static IEnumerable GetTexture(string url) {
        UnityWebRequest request = new UnityWebRequest(url);
        yield return request.SendWebRequest();

        if (request.isNetworkError || request.isHttpError)
        {
            Debug.Log(request.error);
        }
        else {
            Texture myTexture = ((DownloadHandlerTexture)request.downloadHandler).texture;
            // Texture myTexture = DownloadHandlerTexture.GetContent(request);
        }


    }



3:下载AB包

   //下载 AssetBundle http://www.my-server.com/myData.unity3d

    public static IEnumerable GetAssetBundle(string url) {

        UnityWebRequest request = new UnityWebRequest(url);
        yield return request.SendWebRequest();
        if (request.isNetworkError || request.isHttpError)
        {
            Debug.Log(request.error);
        }
        else {
            AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(request);
        }
    }



4:POST方法



    public static IEnumerable PostData(string url) {
        WWWForm data = new WWWForm();
     
        data.AddField("name", "jake");
        UnityWebRequest request = UnityWebRequest.Post(url,data);
        request.SetRequestHeader("token","werwerwer");
          yield return request.SendWebRequest();
       
        if (request.isNetworkError || request.isHttpError)
        {
            Debug.Log(request.error);
        }
        else { 
        
        }
    }


相关文章

Unity动态加载资源

1:Asset下创建资源文件夹Resources2:调用资源Resources.Load<GameObject>("资源名称");...

Unity UI组件TMP中文显示

Unity UI组件TMP中文显示

默认TMP是不支持中文的需要创建自己的中文资源1:首先把字体文件导入到项目中,一般是TTF格式2:选择导入的字体右键新建TextMeshPro的Font Asset3:在TMP组件中设置刚才创建的字体...

unity数据的本地存储的方法

第一种方式:unity自带的存储方式PlayerPrefsPlayerPrefs.SetString("login", "yes");可以保存string in...

Unity 第三人称游戏中角色旋转代码

官方第三人称Demo中角色旋转代码,角色根据相机角度转向   1: 获取用户移动的变量  Vector3 inputDirection ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。