我使用Charles获取了一个APP向后台发送的POST请求的数据包。其中Headers为
```
POST /v1/user/message/history?fr=544504935 HTTP/1.1
X-LV: 1
X-KV: cf6ccedf
X-SIGN: J8bMq6EIw7hTZzaekDiIE40Jy+s=
Connection: Keep-Alive
Charset: UTF-8
Expect: 100-continue
cookie: SESSIONID=30BB3E48-C110-CF95-BBF7-C5B948672125
Accept-Language: zh-CN
User-Agent: xxx/8.2.1 Android/1510 (Redmi 4X; Android 7.1.2; Gapps 1; zh_CN; 23; Xiaomi)
Content-Type: application/x-www-form-urlencoded
Content-Length: 109
Accept-Encoding: gzip
```
Body 为:
```
mzip=AgOrTaf%2BAI1OoQiapEonDg4iF8yxaY2CcUN0xL7cIEV8bP4I%2BrNDSY3AbRR2Xj6EJyT0XGPd5xSkAiuwGvawny7%2BZVmhABw%3D
```
我现在关心的是它的这个Body,如果把这个Body使用URL编码来解码,可以得到一个Base64的字符串。然后使用Base64解码可以得到一个二进制数据。
根据我以往的经验,一般HTTP POST如果要压缩加密的话,会先使用zip压缩,再把压缩后的二进制文件进行Base64编码。有的网站也会使用gzip压缩,然后把压缩后的二进制文件进行Base64编码。还有一些网站可能会生成SQLite数据库,再把数据库文件对应的二进制进行Base64编码。
但是我是用Python的zlib和gzip库都尝试过对产生的二进制数据进行解压,但是都无法成功。
请问各位,对于把上面body进行解码的方法,各位有什么建议吗?