UnityWebRequest的简单使用

UnityWebRequest中Get,Pose,GetTexture的使用

首先一般网址的认知
http://47.97.24.41
这是一个网站的主页面
UnityWebRequest的简单使用_第1张图片
这些是网站的接口和需要的文件的位置信息
http://47.97.24.41/api/res/file/downLoadPage?fileId=6c19b320896b4bc09bbfc6b2754ff87e&index=1
/api/res/file/downLoadPage 是网址的接口,
? 后面的是需要的文件信息
& 是和的意思,需要输入多个文件的参数的话要加上,就像我这里有两个参数fileId和index

B站的网址就是这样的
https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=34&visit_id=5icxsa0kmts0B站音乐区

而Authorization相当于一个通行证,
在Unity中我使用UnityWebRequest.SetRequestHeader(Authorization)来使用

UnityWebRequest.Get

IEnumerator AAA()
    {
        wWW=UnityWebRequest.Get("http://47.97.24.41/api/res/file/downLoadFile?fileId=6c19b320896b4bc09bbfc6b2754ff87e&Authorization=BearereyJhbGciOiJIUzUxMiJ9.eyJ1c2VySWQiOjExNDg0NzU1MTI1NzA1MTEzNjAsInN1YiI6IjE4NjA3MzEwOTA2IiwiaWF0IjoxNTY3MDc5MTA1LCJleHAiOjE1NjcxNjU1MDV9.t2YrNX_2L6WnJbSCKRm7li177Bbl4w80GRpXS0PaerylZY4dyi15E_iffcMQhdz9ixSGdvgyycrUK98rbpIlfQ");
        wWW.SetRequestHeader("Authorization",Authorization);
        yield return wWW.SendWebRequest();
        if (wWW.isNetworkError||wWW.isHttpError)
        {
            Debug.Log(wWW.error);
        }else
        {   
           
            Debug.LogError(wWW.downloadHandler.text);
            byte[] results=wWW.downloadHandler.data;
        }
    }

这Get的使用在上面讲的差不多了

UnityWebRequest.Post

IEnumerator AAA()
    {
        WWWForm wWForm=new WWWForm();
        wWForm.AddField("fileId",ids);
        wWForm.AddField("index","1");
        wWW=UnityWebRequest.Post("http://47.97.24.41/api/res/file/downLoadFile/",wWForm);
        wWW.SetRequestHeader("Authorization",Authorization);
        yield return wWW.SendWebRequest();
        if (wWW.isNetworkError||wWW.isHttpError)
        {
            Debug.Log(wWW.error);
        }else
        {   
            Debug.LogError(wWW.downloadHandler.text);
            byte[] results=wWW.downloadHandler.data;
        }
    }

这个没有将值放在网址后面,而是全部存入了WWWForm这个类的字典中在传参,用法和Get都差不多

UnityWebRequest.GetTexture

 public RawImage raw;
    IEnumerator AAA()
    {
        wWW=UnityWebRequestTexture.GetTexture("http://47.97.24.41/api/res/file/downLoadPage?fileId=6c19b320896b4bc09bbfc6b2754ff87e&index=1");
        wWW.SetRequestHeader("Authorization",Authorization);
        yield return wWW.SendWebRequest();
        if (wWW.isNetworkError||wWW.isHttpError)
        {
            Debug.Log(wWW.error);
        }else
        {   
            raw.texture=DownloadHandlerTexture.GetContent(wWW);
        }
    }

这个就是获取图片的了
UnityWebRequest的简单使用_第2张图片
这就是获取的图片

还有一件事,比如从网页上获取视频在Unity中播放,首先要一个点进去能够直接下载视频的网址,嘛,找不到这网址了,那种网址点进去效果是这样的UnityWebRequest的简单使用_第3张图片
将这种网址直接复制到VideoPlayer的URL上就能直接播放了

另附上官方API:https://connect.unity.com/doc/Manual/UnityWebRequest-RetrievingTextBinaryDataUnity官方API

你可能感兴趣的:(Unity)