Ответ Unity HttpWebRequest отображается как HTML вместо XML - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь сделать POST-запрос от Unity, используя HttpWebRequest WebRequest, я получаю только HTML-код, а в Postman я получаю правильные результаты.

Я пытался использовать HttpWebRequest с StreamWriter, я пытался это сделатьобычным способом и асинхронно.

Используемая мной функция

    public void GetResults()
    {
        byte[] bytes;
        bytes = Encoding.ASCII.GetBytes("<?xml version=\"1.0\" encoding=\"UTF - 8\"?><blabla>asdasd</blabla> ");
        string str = "[MY_API]";
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(str);
        req.Method = "POST";
        req.ContentType = "text/xml";
        string strRequest = Encoding.ASCII.GetString(bytes);
        req.ContentLength = strRequest.Length;
        StreamWriter streamOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
        streamOut.Write(strRequest);
        streamOut.Close();
        StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream());
        string strResponse = streamIn.ReadToEnd();
        print(strResponse);
        streamIn.Close();

    }

Ожидаемая печать - это код XML с некоторыми данными, но фактическая печать -

<html>
<body>
<h1>
200
</h1>
</body>
</html>

1 Ответ

0 голосов
/ 24 октября 2019

Я использовал потрясающий пакет Unity3dAzure с открытым исходным кодом, RESTClient. Он решил все мои проблемы. Очень прост в использовании.

https://github.com/Unity3dAzure/RESTClient

Примечание. Похоже, что для XML недостаточно того, что я делаю, этот пакет хорошо обрабатывает XMl и JSON.

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