Bug 曝光台 Fiddler v4.6 作为移动设备的代理时,会修改 headers 的内容 (首字母的大小写)

itsgoodtobebad · 发布于 2017年09月09日 · 最后由 gengdy 回复于 2017年09月19日 · 205 次阅读

在测试移动设备的时候,一旦使用了Fiddler,后台就会报参数缺失。
后来分析了使用Fiddler和不用Fiddler的网络抓包,发现Fiddler会将Headers里的某些头,首字母从小写改为大写。

后台程序并没有考虑到兼容大小写(因为协议里是小写),所以出现了这个问题。

做移动设备测试的时候,请大家一定要谨慎使用代理工具。

共收到 5 条回复
01ec09

请楼主具体说明下会修改哪个属性?

E39152
01ec09gb2312 回复

我这边检测到的是一个timestamp字段,会在使用了Fiddler后,变成Timestamp

6841

From RFC 2616 - "Hypertext Transfer Protocol -- HTTP/1.1", Section 4.2, "Message Headers":

Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive.

HTTP 协议的 Method 是大小写敏感的,其他 Header 的 key 是大小写不敏感的。当然消息内容是区分大小写的。

所以我认为这应该是一个bug——没有遵守标准

E39152
6841u1452407011 回复

啊!明白了。我回去督促开发修改的,修改为兼容大小写。

7956
6841u1452407011 回复

学到了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册