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