开发过程中对接其他团队接口,请求接口中增加了几个自定义头部,都是小写开头。使用go编写客户端进行请求,无论如何怎么测试都失败。可是使用curl,轻轻松松正常返回。无奈只能使用撒手锏,打印了一下请求头,想和curl对比下,发现请求头里的自定义头都变成了大写开头了。这是怎么回事呢?查看源代码,发现原来代码里做了首字母转大写的处理。我当场差点哭了!!!
由于header是一个map所以可以直接给header赋值,绕过set、add方法。
req.Header["id"] = []string{"abc"}