当我尝试反序列化 Web 响应时,我得到一个无效操作异常。
在这个 webresponse 中,我得到一个通过 https 发送的 XML 页面。我的代码所做的基本上是发送一个 web 请求以获取登录 cookie,然后是另一个获取 XML 页面的请求,然后我反序列化该页面。
当我尝试反序列化时出现问题,它给了我以下错误:
There is an error in XML document (1, 1).
首先,我查看了我的网络响应,看看它是否有正确的数据。所以我把我的 webresponse 放到流阅读器中,并使用 readToEnd 将其转换为字符串。像这样:
dim myStringResult as String = myStreamReader.ReadToEnd()
它给了我一些字母数字和块。所以我认为我得到的回应是问题所在。我用 Fiddler 进行了检查,发现在我看到内容之前需要对响应进行解码(是的,它确实有我想要的正确响应)。我对异常进行了更深入的研究,看到它说
hexadecimal value 0x1F, is an invalid character. Line 1, position 1
我尝试查看 System.Text.Encoding,但找不到十六进制的任何内容。谁能帮我这个?
编辑:我可能必须对其进行解码,因为它是一个 https 响应,而不是因为它是十六进制编码的。
edit1:不幸的是,我尝试过HttpUtility.HtmlDecode
它没有更改字符串。
edit2:我得到的数据示例
{� �U�r�0��+(g���(J��ԙ$�k;IomR&�I�N?���/�6���L�^`���</p >
它没有正确显示数据。它应该主要是正方形。时不时地看到
编辑:标题
content-disposition: : attachment; filename="document.xml" CachingModuleShouldWork: true Content-Language: en-US Vary: Accept-Encoding,User-Agent
内容长度:382 内容类型:应用程序/xml