现象:
使用Wireshark抓包,抓出来的响应体是乱码的,切成utf-8也不行
查了很多资料 最后发现问题出在请求头Accept-Encoding: gzip, deflate
通过压缩再进行传输的话会减少传输的数据量 所以很多请求都会携带这个头 通过压缩后进行传输
而浏览器对于从服务器中返回的对应的gzip压缩的网页,会自动解压缩
但是通过代码请求 Wireshark进行抓包 没有进行解码 就会出现乱码
解决方法:
一、修改请求头Accept-Encoding:* 或是Accept-Encoding:'' 就可以啦
二、手动解码这串数据:
1.在上图中点击Show data as 选择 原始数据或是raw 也就是会出现响应原本的16进制数据
2.另存为 后缀为zip压缩文件
3.用一个可以编辑16进制文件的软件(notepad++ UE等等)进行编辑 把1f 8b前面的都删掉 然后保存
4.解压这个zip文件 再打开解压后的文件就能看到解码后的明文数据了
三、在数据请求栏目中寻找
1.点开Hypertext Transfer Protocol
2.
3.点开File Data 看16进制栏目的数据是不是你想要的 ,是的话直接右键File Data复制值就能拿到了