说一下今天下午搞事情遇到的一个 case,先看正常的数据返回:
{
"results": [{
"createdAt": "2018-11-20 17:43:52",
"id": 12,
"isOpen": "1",
"name": "数学类",
"objectId": "03345ff761",
"updatedAt": "2018-11-30 14:25:42"
}]
}
再来看看异常的数据返回:
��������������OjA���@�W��j�ҕU]��2=�0KAЅ7�Ȁ�3�.2�6v�Cf9v�e�����]�e��_43�O�������Q�ay�xJ���J��X��fO.�9X@(�ܽ�`���k~��^��j��8���B(`~\���NPX�V,��V�qE�u���(D�T���Rp����~����*�(xQ&:1��~s�o>u7�G�R��k~�t��J��p��0>�l�@U�J&�3rB��[��� �����5�If �8�}��
O9�,�l\���w_�Q(2ڻ�*���2G1���lw�_ፎ��ɑR�>p�-����a5PԱR&�ē�����L��z�-��t��⸢}���ny�E�&8%�9 ,�-���������CmL����
wfk,什么鬼?为何会这样,首先我们的网络库都是很成熟线上已经使用很久的,为何现在不好使了??
起初定位认为是编码问题,尝试编码转化但是并没有解决。 仔细分析这片数据发现一个问题,这些数据在 charles 代理中是可以正常展示的,在 app 内却成了现在德行,
通过上图你会发现返回的数据跟 compressed 的数据很像,似乎找到原因了,这里的数据是不是 gzip 压缩了? 回去仔细 review 了一次代码,发现的确在 header 组装过程中设置了
.addHeader("Accept-Encoding", "gzip")
问题定位到了,去掉这句即可!