最近对接一个第三方的接口出现的神奇问题。
对接的接口需要做先决条件验证(header验证)。但是,一直会返回412,先决条件失败。查找对比报文才发现问题:发出去的报文header和对方接收的header大小写不一致。
我方发出去的报文:

对方接收到的报文:

在机缘巧合之下才发现原来是代理proxy的问题。调用接口的时候,程序会默认走系统代理,系统代理会把条件标准化,即前面的header的全大写改成标准的驼峰格式。
解决方案:关闭系统的ie代理,在程序配置里加上使用不安全的header格式(C#为例)

web.config:

Global.asax:

虽然这个问题可以在对接方解决,但是,这明显是一个接口提供方的问题。
然后,这锅我不想背

本文描述了一个因第三方接口Header大小写不一致导致的412错误案例,详细介绍了问题发现过程及解决方案,强调了接口设计中标准化的重要性。
5232

被折叠的 条评论
为什么被折叠?



