zoukankan      html  css  js  c++  java
  • 【转载】HttpWebRequest开启gzip压缩简介

    在用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

  • 相关阅读:
    POJ 3667 & HDU 3308 & HDU 3397 线段树的区间合并
    HDU 5992 kd-tree
    BZOJ 4154 kd-tree dfs序 + 二维空间的区间(矩阵)更新单点查找
    BZOJ 4066 kd-tree 矩形询问求和
    BZOJ 1941 kd-tree
    BZOJ 2648 kd-tree模板
    HDU 5925 离散化
    php trait
    php命名空间
    js
  • 原文地址:https://www.cnblogs.com/hycms/p/3969784.html
Copyright © 2011-2022 走看看