HttpWebRequest не работает с WebGL - PullRequest
0 голосов
/ 12 мая 2018

У меня есть скрипт, который прекрасно генерирует объекты из локального XML-файла, теперь я хочу перенести его в WebGL, но когда я пытаюсь загрузить XML с сервера, локальный хост не отвечает.Скрипт, который я использую для чтения XML-файла с URL:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
XDocument xdoc = XDocument.Load(receiveStream);
receiveStream.Close();

Есть ли способ загрузить XML-файл в Unity для чтения данных и генерации динамических объектов?

1 Ответ

0 голосов
/ 12 мая 2018

HttpWebRequest из пространства имен System.Net, и вы не можете использовать API из пространства имен System.Net с платформой WebGL. Для загрузки данных необходимо использовать WWW или UnityWebRequest API вместо HttpWebRequest. Как только вы загрузите данные с помощью HttpWebRequest, используйте XDocument.Parse для преобразования полученных данных в XDocument объект.

void Start()
{
    StartCoroutine(getRequest("http:///www.yoururl.com"));
}

IEnumerator getRequest(string uri)
{
    //Make request
    UnityWebRequest uwr = UnityWebRequest.Get(uri);
    yield return uwr.SendWebRequest();

    if (uwr.isHttpError)
    {
        Debug.Log("Error While Sending: " + uwr.error);
    }
    else
    {
        Debug.Log("Received: " + uwr.downloadHandler.text);

        //Convert to xml
        XDocument xdoc = XDocument.Parse(uwr.downloadHandler.text);
    }
}

Это для запроса на получение. Если отправить запрос, см. этот пост.

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