簡體   English   中英

HttpWebResponse文本似乎不是JSON

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM