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"); }