解压GZIP加密后的Response

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: <p>         今儿同事调接口时,发现对方返回的<span style="font-family:'Courier New'; font-size:13px; line-height:19px; widows:auto">HttpResponse是经GZIP加密的,调用一个现成的解压Util总是失败。经查阅资料,个人封装了一个自带解压功能的post方法,适用于返回结果经GZIP加密

         今儿同事调接口时,发现对方返回的HttpResponse是经GZIP加密的,调用一个现成的解压Util总是失败。经查阅资料,个人封装了一个自带解压功能的post方法,适用于返回结果经GZIP加密的post请求,Get请求请自行更改。废话少说,上代码。

private String postGZIP(String url, String requestJson, String authorization)throws Exception {
        HttpClient httpClient = HttpClients.createDefault();
        HttpPost httppost =null;
        String postUrl =null;
        HttpResponse response =null;
        String json =null;
        try{
            postUrl = url +"?param="+ requestJson;
            httppost =new HttpPost(postUrl);
            List<NameValuePair> params =new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("param", requestJson));
            // httppost.setEntity(new UrlEncodedFormEntity(params));
            httppost.addHeader("Content-Type","text/plain;charset=utf-8");
            // httppost.addHeader("Accept-Encoding", "gzip");
            if(null!= authorization){
                httppost.addHeader("Authorization", authorization);
            }
            response = httpClient.execute(httppost);
            InputStream is = response.getEntity().getContent();
            is =new GZIPInputStream(is);
            BufferedReader br =new BufferedReader(new InputStreamReader(is));
            String line =null;
            StringBuffer sb =new StringBuffer();
            while((line = br.readLine())!=null){
                sb.append(line);
            }
            json = sb.toString();
        }catch(Exception e){
            throw e;
        }finally{
            if(null!= httppost){
                httppost.releaseConnection();
            }
        }
        if(json ==null){
            thrownew Exception("接口无结果返回");
        }
        return json;
    }

测试方法:

@Test
    public void testGZIP()throws Exception {
        String url ="http://api.pkfare.com/test_api/shopping";
        String req ="JTdCJTIyYXV0aGVudGljYXRpb24lMjIlM0ElN0IlMjJwYXJ0bmVySWQlMjIlM0ElMjJSa3NWU1g3UGZabTF5RjA0YWRCV1lzQ0Q3TTQlM0QlMjIlMkMlMjJzaWduJTIyJTNBJTIyMTdlNzA3YjVkOWRhZTg0NTkwNjVkYmIxMzllNWYxYmQlMjIlN0QlMkMlMjJzZWFyY2glMjIlM0ElN0IlMjJhZHVsdHMlMjIlM0ExJTJDJTIyYWlybGluZSUyMiUzQSUyMkNBJTIyJTJDJTIyY2hpbGRyZW4lMjIlM0EwJTJDJTIyaW5mYW50cyUyMiUzQTAlMkMlMjJub25zdG9wJTIyJTNBMSUyQyUyMnNlYXJjaEFpckxlZ3MlMjIlM0ElNUIlN0IlMjJjYWJpbkNsYXNzJTIyJTNBJTIyRWNvbm9teSUyMiUyQyUyMmRlcGFydHVyZURhdGUlMjIlM0ElMjIyMDE2LTAzLTE2JTIyJTJDJTIyZGVzdGluYXRpb24lMjIlM0ElMjJIS0clMjIlMkMlMjJvcmlnaW4lMjIlM0ElMjJCS0slMjIlN0QlNUQlMkMlMjJzb2x1dGlvbnMlMjIlM0EyMCU3RCU3RA==";
        System.out.println(pkfareBusiness.postGZIP(url, req, null));
    }





目录
相关文章
|
Java 数据安全/隐私保护
java解压加密的7z格式文件
java解压加密的7z格式文件
882 0
java解压加密的7z格式文件
|
安全 Java 数据安全/隐私保护
【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )(一)
【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )(一)
232 0
【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )(一)
|
算法 安全 Java
【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )(二)
【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )(二)
224 0
【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )(二)
|
安全 算法 Java
【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )(一)
【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )(一)
243 0
【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )(一)
|
安全 算法 Java
【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )(一)
【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )(一)
253 0
|
安全 Java API
【Android 安全】DEX 加密 ( 代理 Application 开发 | 解压 apk 文件 | 判定是否是第一次启动 | 递归删除文件操作 | 解压 Zip 文件操作 )
【Android 安全】DEX 加密 ( 代理 Application 开发 | 解压 apk 文件 | 判定是否是第一次启动 | 递归删除文件操作 | 解压 Zip 文件操作 )
144 0
|
数据安全/隐私保护
|
10天前
|
SQL 安全 算法
网络安全的盾牌与剑:深入理解网络漏洞、加密技术及安全意识
【10月更文挑战第7天】在数字化时代的浪潮中,网络安全成了保护个人隐私和企业资产的关键防线。本文旨在揭示网络安全的重要性,并从网络漏洞识别、加密技术的运用到培养良好的安全意识等方面提供深入浅出的知识分享。通过实例分析,我们将探索如何有效地防范网络攻击,保护信息安全。
|
8天前
|
存储 安全 5G
|
11天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第6天】在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将探讨网络安全漏洞、加密技术和安全意识等方面的内容,以帮助读者更好地了解这些主题,并采取适当的措施保护自己的信息安全。我们将通过代码示例来演示一些常见的安全漏洞,并提供解决方案。最后,我们将强调培养良好的安全意识对于维护个人和组织的信息安全的重要性。