博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpWebRequest开启gzip压缩
阅读量:7236 次
发布时间:2019-06-29

本文共 1002 字,大约阅读时间需要 3 分钟。

在用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://pvofm.baihongyu.com/

你可能感兴趣的文章
揭示同步块索引(上):从lock开始
查看>>
js中#代表什么
查看>>
MySQL中的RAND()函数使用详解(order by rand() 随机查询取前几条记录)
查看>>
PHP7运行环境搭建(Windows7)
查看>>
Ubuntu扩展系统盘容量,虚拟机下
查看>>
C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) C#各版本新特性 C#版本和.NET版本以及VS版本的对应关系...
查看>>
Java并发编程的艺术(二)——重排序
查看>>
php Restful设计
查看>>
A very simple C++ module to encrypt/decrypt strings based on B64 and Vigenere ciper.
查看>>
git 合并子分支
查看>>
git基本操作:上传代码
查看>>
vs2017创建支持多框架(net4.6.1;net4.6.2;netstandard2.0;netcoreapp2.0)版本
查看>>
nginx 服务器常见配置以及负载均衡
查看>>
ES6 class setTimeout promise async/await 测试Demo
查看>>
Rar安装包
查看>>
通过mysql自动同步redis
查看>>
cakephp2.3.8中何为component
查看>>
纯CSS实现的很酷的卡通肖像和眨眼动效
查看>>
将Tomcat设置为自动启动的服务最快捷方法
查看>>
Elasticsearch安装(四), elasticsearch head 插件安装和使用。
查看>>