[英]HttpWebResponse text does not appear to be JSON
我正在進行一次休息呼叫,在其中我得到一個包含數據的HttpWebResponse。 似乎數據已序列化,我正在嘗試獲取請求的純文本。 我一直在使用chrome擴展Advanced Rest客戶端,該客戶端在調用相同的請求時能夠顯示json響應的文本版本。
根據我在這里閱讀的內容,您需要反序列化為預期的對象。 但是,很明顯chrome插件對對象類型一無所知,仍然可以打印出純文本。
是否可以在C#中執行相同的操作?
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/json";
// [code removed for setting json data via stream writer
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// This is where I am trying to figure out how to get plain readable text out of response.GetResponseStream()
}
編輯:如果我只是使用StreamReader從響應流中獲取文本,我會得到一堆二進制數據,而不是純json文本。
編輯:意識到問題與壓縮有關。 這可以關閉。
我不確定是否正確,但是您可以通過以下方式獲得響應:
using (var sr = new StreamReader(response.GetResponseStream()))
{
text = sr.ReadToEnd();
}
原來我的問題是由於壓縮。 我意識到標題包含“ Content-Encoding:gzip”,所以我搜索了如何使用gzip壓縮解壓縮,然后文本是正確的json。 謝謝大家
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.