Почему UnityWebRequest возвращает неизвестную ошибку, когда я выполняю запрос GET в Linux? - PullRequest
0 голосов
/ 03 декабря 2018

Это мой код:

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);
            }
        }
    }


}

Переменная результата равна нулю, а www.error - "неизвестная ошибка". Я пытался исправить это разными способами, но я просто не могуВыясните, что является причиной этой ошибки, поскольку это просто общая ошибка.

Я также читал, что это может быть ошибка unitywebrequest, если это так, есть ли альтернативы?

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Наконец-то нашли решение проблемы.(Это происходит только в некоторых ОС 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/

0 голосов
/ 03 декабря 2018

Похоже, вы пытаетесь получить JSON из базы данных Firebase Realtime через его REST API.Запросы к REST API должны заканчиваться .json, в противном случае Firebase интерпретирует их как запросы на открытие консоли в этом месте.Итак UnityWebRequest.Get(url+.json)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...