最近在测试调用接口的时候,用curl命令时,已经将header参数用 -H 的方式传入,但是还是提示参数为空。
请求(示例):
curl -H "Content-type:application/json;charset=UTF-8" -H "id:aaaaaa" -H "time:11111111" -H "token:bbbbbbb" -d '{"filter":{"param1":"value1","param2":"value2","page":3,"rows":30},"param3":"value3"}' http://192.168.1.1/getInfo
返回(示例):
{"message":"header参数:id不能为空"}
可以看到已经传参了,但是在服务中没有收到这个参数。实际上是nginx的 conf 文件配置中有个参数 underscores_in_headers 这个默认是关闭的。在 http 中添加这个参数,设置为 on 即可。注意,不要写在server中,写在http下。
http {
...
underscores_in_headers on;
...
}