为什么在 Linux 上执行 GET 请求时 UnityWebRequest 返回未知错误?
/// <summary>
/// 获取题Json
/// </summary>
/// <returns></returns>
private IEnumerator GetTiDataJson()
{
//Debug.Log("获取题Json");
UnityWebRequest webRequest = UnityWebRequest.Get(Application.streamingAssetsPath + "/Data.json");
yield return webRequest.SendWebRequest();
if (webRequest.isHttpError || webRequest.isNetworkError)
Debug.Log(webRequest.error);
else
{
var ConfigInfo = JsonUtility.FromJson<TiData>(webRequest.downloadHandler.text).ConfigInfo;
Debug.Log(ConfigInfo [0].Title);
}
}
以上代码 其他 平台 使用没有问题,但是在 Linux 平台 就解析出错。
求指点一下嘛,
目前了解到UnityWebRequest.Get 在官方的支持平台没有看见 Linux 平台(是否不支持?)
来自chatgpt的回答:
在 Unity 官方的文档中,确实没有将 Linux 平台列为 UnityWebRequest.Get() 方法支持的平台之一。但是,这并不表示 UnityWebRequest 在 Linux 平台上不可用。
实际上,根据社区的反馈和开发者的经验,UnityWebRequest 在 Linux 平台上仍然可以正常工作,并且能够完成网络数据请求。唯一需要注意的是,由于该方法官方上未列出 Linux 平台的支持范围,故不保证稳定性和可靠性。
如果您需要在 Linux 平台上使用 UnityWebRequest,建议先进行测试,确认 UnityWebRequest 在该平台上是否符合您的需求。同时,也可以考虑使用其他平台支持情况更加明确的网络请求方式,如 HttpWebRequest 或 HttpClient 等方法。
linux系统可能缺少必要的头文件或库文件~导致该函数不能调用~