如何在 webApi 当中接收 Gzip 压缩或者加密后的 请求消息内容!

2021-10-02 06:16

阅读:917

标签:今天在上班的时候遇到个问题,移动端要求我们用GZIP加密。当时一想着多简单,但是在做的时候发现个问题。 就是移动端Post到 服务端的数据也是经过 Gzip的,并不是单一的像网站那样只针对网页进行 压缩。 下面是我的处理办法: 重写 :DelegatingHandler抽象类 protected override Task 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());   代码我就不讲了,看的懂的人看!看不懂的也没办法。。。如何在 webApi 当中接收 Gzip 压缩或者加密后的 请求消息内容!标签:原文地址:http://www.cnblogs.com/harryliu/p/4228925.html


评论


亲,登录后才可以留言!