zoukankan      html  css  js  c++  java
  • HttpWebResponse 解压gzip、deflate压缩

    需要使用到两个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;
           }
  • 相关阅读:
    Linux 常用命令
    去除重叠区间
    Python 小工具之大文件去重
    有趣的pyfiglet
    杨辉三角
    Paginator分页
    Linux用户和用户组
    Grub介绍
    Linux系统运行级别
    Linux系统启动流程
  • 原文地址:https://www.cnblogs.com/a14907/p/6716195.html
Copyright © 2011-2022 走看看