'', Шестнадцатеричное значение 0x1F, не является допустимым символом.Строка 1, пункт 1 - PullRequest
0 голосов
/ 11 июня 2018

Я получаю данные XML через httpwebrequest.Следующий код работал нормально.Но что-то изменилось и неожиданно начало выдавать исключение в методе Read () с ошибкой: Символ '', шестнадцатеричное значение 0x1F, не является допустимым символом.Строка 1, пункт 1. В веб-браузере sURL выдает мне действительный xml.Я не знаю, что изменилось.

    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sURL);
    req.Method = "GET";
    WebResponse response = req.GetResponse();
    StreamReader resStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
    XmlTextReader reader = new XmlTextReader(resStreamReader);
    while (reader.Read())
    {
       // some code
     }

1 Ответ

0 голосов
/ 29 августа 2018

В этой теме MSDN Та же проблема обсуждалась, и в результате

Серверы иногда сжимают свои ответы, чтобы сэкономить на пропускной способности, когда это происходит, вам нужно распаковатьответ, прежде чем пытаться прочитать его.К счастью, .NET Framework может сделать это автоматически, однако нам нужно включить настройку.

И эта тема stackoverflow решает проблему

0x1F Устранение ошибки XML

Вам следует проверить ответ от вашего URL о возможном использовании сжатия GZip.

Хорошего дня.

...