需要使用到两个Stream的子类:GZipStream、DeflateStream,代码如下:

       public string GetResponseBody(HttpWebResponse response)
       {
           string responseBody = string.Empty;
           if (response.ContentEncoding.ToLower().Contains("gzip"))
           {
               using (GZipStream stream = new GZipStream(response.GetResponseStream(),CompressionMode.Decompress))
               {
                   using (StreamReaderreader = new StreamReader(stream))
                   {
                       responseBody = reader.ReadToEnd();
                   }
               }
           }
           else if (response.ContentEncoding.ToLower().Contains("deflate"))
           {
               using (DeflateStream stream = new DeflateStream(response.GetResponseStream(),CompressionMode.Decompress))
               {
                   using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                   {
                       responseBody = reader.ReadToEnd();
                   }
               }
           }
           else
           {
               using (Stream stream = response.GetResponseStream())
               {
                   using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                   {
                       responseBody = reader.ReadToEnd();
                   }
               }
           }
           return responseBody;
       }

 

相关文章:

  • 2022-01-13
  • 2021-11-17
  • 2021-08-23
  • 2021-09-07
  • 2022-12-23
  • 2022-02-22
  • 2021-06-09
猜你喜欢
  • 2022-12-23
  • 2021-06-20
  • 2022-12-23
  • 2022-12-23
  • 2021-07-19
  • 2022-12-23
  • 2021-07-23
相关资源
相似解决方案