首页 > 解决方案 > 从常规 WWW 切换到 UnityWebRequest 问题

问题描述

我目前正在使用 Unity 的 WWW 来调用我的后端,它正在工作,除了这个:

我需要获取错误响应的头部和主体,但不知道如何完成此操作:

WWW www = new WWW(url_base + param[0]);

yield return www;

if (www.error == null)
{
    Debug.Log("Perfect!");
} 
else
{
    // Needs to handle the errors from header and body
    Debug.Log("ERROR: "+www.error);
} 

无论如何从www中检索标题和正文?

如果是,请丢弃问题的第二部分,否则...

这可以通过使用 UnityWebRequest 来完成吗?

如果我使用 UWR,这可能吗?

我有一些 www 看起来像这样:

www = new WWW(url_base + param[0], Encoding.UTF8.GetBytes(param[1].ToString()), CreateHeader(false));

标签: unity3dhttp-headerswebrequest

解决方案


我建议您使用统一网络请求以统一处理后端,因为 www 将在较新版本的统一中删除。回到您的问题:您可以使用统一 Web 请求的公共方法获取所有响应标头,如下所示:

UnityWebRequest unityWebRequest;
unityWebRequest.GetResponseHeaders(); // it returns the list of all headers

您还可以使用统一网络请求获取错误响应,如下所示:

unityWebRequest.error; //it returns the error response

我建议您使用统一网络请求,因为它是统一处理后端的首选和未来

https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.html


推荐阅读