获取运用了GZIP技术进行压缩的网页的Html代码

一些网站的页面是通过GZIP技术进行压缩传输的,这样会加快加载速度。但是通过WebClient获取到的html代码则是乱码,所以需要通过GZIP解压来正常显示html代码。

byte[] btArrWebHtmlCode = this.GetWebHtmlBytes(url);
            if (btArrWebHtmlCode.Length == 0)
            {
                return string.Empty;
            }
            Encoding webEncoding = Encoding.UTF8;
            MemoryStream msWebCode = new MemoryStream(btArrWebHtmlCode);
            GZipStream gzipstreamWebHtml = new GZipStream(msWebCode, CompressionMode.Decompress);
            MemoryStream msTemp = new MemoryStream();
            int iCount = 0;
            byte[] btTemp = new byte[btArrWebHtmlCode.Length];
            while ((iCount = gzipstreamWebHtml.Read(btTemp, 0, btTemp.Length)) > 0)
            {
                msTemp.Write(btTemp, 0, iCount);
            }
            btArrWebHtmlCode = msTemp.ToArray();
            return webEncoding.GetString(btArrWebHtmlCode, 0, btArrWebHtmlCode.Length);

通过上述代码解压,即可获取到正确的html代码字符串。

转载于:https://www.cnblogs.com/dc-lancer/archive/2013/04/03/2998249.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值