2018-06-13 RestTemplate处理Gzip压缩

遇到了一个RestTemplate请求带Gzip压缩的时候不会自动解压的问题

网络上很多都是让用httpClient来解决这个问题

后来找到这个文章

https://stackoverflow.com/questions/34415144/how-to-parse-gzip-encoded-response-with-resttemplate-from-spring-web

但发现CompressionUtil.decompressGzipByteArray 这个方法,没找到jar包

最后找到了这个方法

        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-jcs -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-jcs</artifactId>
            <version>2.2</version>
            <type>pom</type>
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>
    public static String decompress(final byte[] compressed) {
        if (isNull(compressed) || compressed.length == 0) {
            return null;
        }

        try (final GZIPInputStream gzipInput = new GZIPInputStream(new ByteArrayInputStream(compressed));
             final StringWriter stringWriter = new StringWriter()) {
            IOUtils.copy(gzipInput, stringWriter, UTF_8);
            return stringWriter.toString();
        } catch (IOException e) {
            throw new UncheckedIOException("Error while decompression!", e);
        }
    }

解压一下就可以用了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

【C#】工具类-FTP操作封装类FTPHelper

转载:http://blog.csdn.net/gdjlc/article/details/11968477

1011
来自专栏Java开发

Spring发布WebService

这里的org.apache.neethi的版本最好是3.0.3 不然你使用了别人的webservice可能会报错 我试过用3.0.2报错 : java...

783
来自专栏Hongten

Java Web 文件上传

 在我们的web开发中,很多的时候都需要把本机的一些文件上传到web服务器上面去

1343
来自专栏Jerry的SAP技术分享

如何查看CRM WebUI,C4C和Hybris里的页面技术信息

在WebClient UI页面上按F2,就能看到页面的技术信息, 可以找到当前页面是哪一个BSP component实现的:

3324
来自专栏酷玩时刻

PC 微信扫码登陆

网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。进一步了解OAuth2.0-----理解OAuth2.0 官方介绍资料

1024
来自专栏狂码一生

PHP CURL详解

一、测试网络是否连接 <?php      // create curl resource      $ch = curl_init();      // se...

35310
来自专栏Porschev[钟慰]的专栏

Windows Server 2008 R2 配置Exchange 2010邮件服务器并使用EWS发送邮件

配置环境 配置环境完全在此前一篇文章搭建好的环境下进行配置: http://www.cnblogs.com/zhongweiv/archive/201...

3288
来自专栏从零开始学自动化测试

python接口自动化9-https请求(SSL)

前言 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会 报:requests.ex...

2863
来自专栏游戏杂谈

Lua游戏开发参考资料收集

What is a good game engine that uses Lua? [closed]

311
来自专栏owent

GCC 7和LLVM+Clang+libc++abi 4.0的构建脚本

之前的版本发完,有空来更新一下之前的gcc和llvm+clang工具链的编译脚本了。其实GCC 7是才release没多久但是llvm 4.0发布其实有一段时间...

591

扫码关注云+社区