當我嘗試反序列化web響應時,出現無效操作異常。無法讀取httpwebresponse
在這個web響應中,我得到了一個通過https發送的XML頁面。 我的代碼所做的基本上是發送一個webrequest來獲取登錄cookie,然後是另一個獲取XML頁面的請求,之後我將該頁面反序列化。
的問題時,當我嘗試反序列化,它使我有以下錯誤:
There is an error in XML document (1, 1).
首先,我看着我的WebResponse的,看它是否具有正確的數據。所以我把我的web響應放入streamreader並使用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�^`���
它不顯示數據正確。它假設大多是平方。每一個現在,然後就看到
編輯:頭
content-disposition: : attachment; filename="document.xml" CachingModuleShouldWork: true Content-Language: en-US Vary: Accept-Encoding,User-Agent
Content-Length: 382 Content-Type: application/xml
你能後的一個例子您從http響應中獲得的數據? –
我編輯了我的問題。真的很奇怪,沒有什麼變化。我已經完成了你所問的。是因爲響應是在https中,這就是爲什麼它給出了0x1f錯誤? – deltu100
這到底是什麼?你通過HttpResponse收到了什麼?我期待和Xml文檔...這看起來像是某種二進制輸出。 –