首页  ·  知识 ·  
Label
      编辑:  图片来源:网络
using System;
using System.IO.Compression;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Headers["Accept-Encoding"].ToLower().IndexOf("gzip") != -1)
        {
            Response.Filter = new GZipStream(Response.Filter, CompressionMode.Compress);
            Response.AppendHeader("Content-Encoding", "gzip");//不设置浏览器显示为乱码
        }

        Response.WriteFile(Server.MapPath("book.txt"));
    }
}
启用gzip压缩前后对比:
 
 
大多数浏览器自带了gzip解压功能,经gzip压缩后的页面不需做格外的操作就能正常显示了。但url若做为接口使用,在应用程序中获取返回内容时,则需手工进行解压,示例代码:
using System;
using System.IO;
using System.IO.Compression;
using System.Net;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //请求
            WebRequest Request = WebRequest.Create("http://localhost:2440/Default.aspx");
            Request.ContentType = "application/x-www-form-urlencoded";
            Request.Method = "GET";

            //响应
            WebResponse Response = Request.GetResponse();
            Stream stream = Response.GetResponseStream();

            //解压
            byte[] buffer = new byte[100];
            int length = 0;
            using (GZipStream gz = new GZipStream(stream, CompressionMode.Decompress))
            {
                using (MemoryStream msTemp = new MemoryStream())
                {
                    while ((length = gz.Read(buffer, 0, buffer.Length)) != 0)
                    {
                        msTemp.Write(buffer, 0, length);
                    }

                    Console.WriteLine(System.Text.Encoding.UTF8.GetString(msTemp.ToArray()));
                }

            }

            Console.ReadKey();
        }
    }
}
 
本文作者:网友 来源: http://www.mzwu.com/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的
收藏至微信