今天在上班的时候遇到个问题,移动端要求我们用GZIP加密。当时一想着多简单,但是在做的时候发现个问题。

就是移动端Post到 服务端的数据也是经过 Gzip的,并不是单一的像网站那样只针对网页进行 压缩。

下面是我的处理办法:

重写 :DelegatingHandler抽象类

protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
Stream stream = request.Content.ReadAsStreamAsync().Result;
Encoding encoding = Encoding.UTF8;
stream.Position = 0;

request.Content = new StreamContent(new GZipStream(stream, CompressionMode.Decompress));
request.Content.Headers.Remove("Content-Type");
request.Content.Headers.Add("Content-encoding", "gzip");
request.Content.Headers.Add("Content-Type", "application/json;charset=UTF-8");

return base.SendAsync(request, cancellationToken);
}

//最后将上面写好的消息拦截类 添加到MessageHandlers里面完事

GlobalConfiguration.Configuration.MessageHandlers.Add(new  MessageHandler());

代码我就不讲了,看的懂的人看!看不懂的也没办法。。。

最新文章

  1. 记lrd的高二上学期第五次调研考试
  2. jquery easyui tree动态加载子节点
  3. 《InsideUE4》UObject(一)开篇
  4. BZOJ4517: [Sdoi2016]排列计数
  5. python判断文件和目录是否存在
  6. git(4)如何在windows上安装git
  7. Codeforces Round #Pi (Div. 2) E. President and Roads 最短路+桥
  8. 关于Eclipse的工作空间设置默认个数和配置
  9. partial函数-python学习
  10. eclipse最有用快捷键整理(转)
  11. win10系统搭建虚拟机:VMware Workstation Player 12环境+Ubuntu Kylin 16.04 LTS系统
  12. 解决Maven无法下载fastdfs-client-java依赖,Dependency &#39;org.csource:fastdfs-client-java:1.27-SNAPSHOT&#39; not found.
  13. .NET技术-2.0. 操作数据库-EF
  14. nginx代理部署Vue与React项目
  15. [Android] QPST,解BL锁,刷Recovery,备份系统,root,刷框架.
  16. 知识点:synchronized 原理分析
  17. 用RIPv2实现网络区域的互通
  18. str.index()与str.find()比较
  19. 基于TINY4412的Andorid开发-------简单的LED灯控制
  20. Mysql Workbench 连接CentOs MySQL

热门文章

  1. Median of Two Sorted 求两个有序数组的中位数
  2. 常用wxPython事件描述
  3. Android UI目录
  4. C / C++算法学习笔记(8)-SHELL排序
  5. 国内外DNS服务器地址列表
  6. HTML5开发 BUG解决
  7. VS2015 企业版不支持 JavaScript 语法高亮、智能提醒
  8. MySQL导入sql 文件的5大步骤
  9. .NET 3.5(5) - LINQ查询操作符之Select、Where、OrderBy、OrderByDescending
  10. web Form 表单method=&quot;get&quot; method=&quot;post&quot; 区别