这是我的代码:
public class DatabaseHandler : MonoBehaviour
{
string url = "https://fakeid.firebaseio.com/";
void Start()
{
StartCoroutine(GetLevelsCoroutine());
}
IEnumerator GetLevelsCoroutine()
{
using (UnityWebRequest www = UnityWebRequest.Get(url))
{
www.SetRequestHeader("X-Firebase-Decoding", "1");
yield return www.SendWebRequest();
if (www.isDone)
{
Debug.Log(www.error);
string result = www.downloadHandler.text;
Debug.Log(result);
}
}
}
}
结果变量为null,而www.error为“未知错误” 为了解决这个问题,我一直在尝试不同的方法,但是,我只是不知道是什么原因导致了此错误,因为这只是一个一般性错误。
我还读到这可能是一个unitywebrequest错误,如果是这样,还有其他选择吗?
答案 0 :(得分:2)
最后找到了解决问题的办法。 (仅在某些Linux操作系统上发生)
Unity仅正式支持Ubuntu Linux,因此它正在查找(但找不到)证书存储所在的位置。您可以通过创建符号链接来解决Fedora:
mkdir -p /etc/ssl/certs && ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt
这是我从以下来源获得的资源:https://forum.unity.com/threads/ubuntu-headless-build-tls-handshake-fails.546704/
答案 1 :(得分:0)
似乎您正在尝试通过REST API从Firebase实时数据库获取JSON。对REST API的请求必须以i=0
k_start[i]
[8515]
i=1
k_start[i]
139253
结尾,否则Firebase会将其解释为在该位置打开控制台的请求。所以.json