【转载】HttpWebRequest开启gzip压缩简介_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 【转载】HttpWebRequest开启gzip压缩简介

【转载】HttpWebRequest开启gzip压缩简介

 2014/9/13 16:35:48  疯狂的瓶子  程序员俱乐部  我要评论(0)
  • 摘要:在用HttpWebRequest对象时,一般我们都没有开启gzip压缩,如果服务端返回的数据比较大,这是我们需要开启gzip压缩,怎么开启呢?1.给HttpWebRequest对象,添加如下Header:request.Headers.Add("Accept-Encoding","gzip");2.对接收到的流进行解码:privatestringGetResponseBody(HttpWebResponseresponse){stringresponseBody=string.Empty;if
  • 标签:Web 简介 开启 压缩 HttpWebRequest HTTP

在用HttpWebRequest对象时,一般我们都没有开启gzip压缩,如果服务端返回的数据比较大,这是我们需要开启gzip压缩,怎么开启呢?

1.给HttpWebRequest对象,添加如下Header:

request.Headers.Add("Accept-Encoding", "gzip");

2.对接收到的流进行解码:

private 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;
}

转自:http://www.csharpwin.com/csharpspace/13345r5893.shtml

上一篇: cocos2d-x滑动翻页,多出一点偏移量。 下一篇: 没有下一篇了!
发表评论
用户名: 匿名