Java post 数据压缩

gzip 压缩数据提交

public void parsePostParams(HttpRequestBase requestBase, HttpRequest req){
        byte [] bgzip = gzip(req.postParamsToJson());
        ((HttpPost)requestBase).setEntity(new InputStreamEntity(new ByteArrayInputStream(bgzip), bgzip.length));
    }
     
    public byte[] gzip(String foo){
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        GZIPOutputStream gzos = null;
 
        try {
            gzos = new GZIPOutputStream(baos);
            gzos.write(foo.getBytes("UTF-8"));
            gzos.flush();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (gzos != null) try { gzos.close(); } catch (IOException ignore) {};
        }
 
        return baos.toByteArray();
    }


解析 

public static String gziptoString(ServletRequest req) throws IOException{
       GZIPInputStream in = new GZIPInputStream(req.getInputStream());
        byte [] b= new byte[1024];
        int temp =0;
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        while((temp = in.read(b,0,b.length))!=-1){
            out.write(b, 0, temp);
        }
        out.flush();
        in.close();
        out.close();
        return out.toString("UTF-8");
   }

猜你喜欢

转载自lingyimu.iteye.com/blog/2209480