使用Fiddler的AutoResponder的功能来mock一个接口,目的是mock返回更多的数据。结果我发现如果只修改response data的内容而不改变长度可以mock成功,一旦改变response data的长度,前端页面就没有任何返回数据展示出来,控制台报错“ERR_INVALID_CHUNKED_ENCODING”。
后来开发说是该接口使用Chunked编码传输,即回复消息的Headers有transfer-coding域值为chunked,表示将用chunked编码传输内容,目的是实时将response data分段标记长度,所以前端会判断实际response data的长度和接口中说明的长度不一致,然后导致前端无法正常渲染。
解决步骤:
1.打开fiddler的Rules菜单,勾选“Remove All Encodings”;
2.重新抓包;
3.将新抓的包拖到AutoResponder里设置mock。
这样然后修改该mock的response data就能mock成功。