우리는 http 요청 및 http 응답을 캡처하는 네트워크 패킷 분석기 도구 인 packetbeat를 사용하고 있습니다. Packebeat는이 패킷 이벤트를 json 형식으로 유지합니다. 문제는 서버가 gzip 압축을 지원할 때 발생하며 packetbeat는 내용을 압축 해제하지 않고 gzip 내용을 json 속성으로 직접 저장할 수 없습니다. 보시다시피 (참고 : json은 단순화되었습니다.);Java는 json 속성의 HTTP GZIP 컨텐트를 압축 해제합니다.
{
{
... ,
"content-type":"application/json;charset=UTF-8",
"transfer-encoding":"chunked",
"content-length":6347,
"x-application-context":"proxy-service:pre,native:8080",
"content-encoding":"gzip",
"connection":"keep-alive",
"date":"Mon, 18 Dec 2017 07:18:23 GMT"
},
"body": "\u001f\ufffd\u0008\u0000\u0000\u0000\u0000\u0000\u0000\u0003\ufffd]k\ufffd\u0014DZ\ufffd/\ufffdYI\ufffd#\ufffd*\ufffdo\ufffd\ufffd\ufffd\u0002\t\u0010^\ufffd\u001c\u000eE=\ufffd{\ufffdb\ufffd\ufffdE\ufffd\ufffdC\ufffd\ufffdf\ufffd,\ufffd\u003e\ufffd\ufffd\ufffd\u001ef\u001a\u0008\u0005\ufffd\ufffdg\ufffd\ufffd\ufffdYYU\ufffd\ufffd;\ufffdoN\ufffd\ufffd\ufffdg\ufffd\u0011UdK\ufffd\u0015\u0015\ufffdo\u000eH\ufffd\u000c\u0015Iq\ndC\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd ... "
}
우리는 전처리 패킷 json 파일을 압축 해제하려고 생각하고 있습니다. 누군가 내가 java를 사용하여 zipped "body"json 속성을 압축 해제 할 필요가 있다고 말할 수 있습니까?
gzipinputstream 클래스를 사용하여 gzip 데이터의 압축을 풀려고했지만 이전에 말한 것처럼 문자열 형식의 본문 속성 내용을 바이트 배열 형식으로 변환해야하며 변환 할 수 없습니다. 어떤 생각? –