解码输入流
本文关键字:输入流 解码 | 更新日期: 2023-09-27 18:12:59
所以我有一个通过POST方法接受XML的页面。下面是一小段代码:
if (Request.ContentType != "text/xml")
throw new HttpException(500, "Unexpected Content Type");
StreamReader stream = new StreamReader(Request.InputStream);
string x = stream.ReadToEnd(); // added to view content of input stream
XDocument xmlInput = XDocument.Load(stream);
我得到了一个错误,所以我将流转换为字符串,只是为了看看是否一切都被正确发送。当我查看内容时,它看起来是这样的:
% 3 c % 3 fxml +版本% 3 d % 271.0% 27 + 27 utf - 8编码% 3 d % % 27% 3 f % 3 e % d % 0 a
所以我想我需要解码流。唯一的问题是,我不知道如何在流上使用HtmlDecode,并且仍然将其保留为StreamReader对象。
有什么办法可以做到吗?
显然客户端以url编码的XML发送内容。所以你需要像这样解码内容:
StreamReader stream = new StreamReader(Request.InputStream);
string x = stream.ReadToEnd();
string xml = HttpUtility.UrlDecode(x);
XDocument xmlInput = XDocument.LoadXml(xml);
无论如何,问题可能在客户端…为什么用这种方式编码XML ?