今天发curl时,报错Argument list too long

curl -H “Content-Type: application/json " -iv -X POST -d '{“id”:“1111112012”,“name”:”…“,“age”:”…"}’ http://192.168.1.1:3000/api/query
(…省略了很多很多东西)

于是改成了将json参数放到param.json文件中进行发送

curl -H "Content-Type: application/json " -iv -X POST -d @‘param.json’ http://192.168.1.1:3000/api/query

但是返回的 100-continue
 
 
原因:
因为post请求的请求头中默认 “Expect”:“100-continue”,也就是发送超过1024B大小的参数后,会先询问服务器是否接收,服务器同意接受了才会继续发送。
 
 
解决办法:
修改请求头Expect参数为空,-H “Expect”:" "

curl -H “Expect”:" " -H "Content-Type: application/json " -iv -X POST -d @‘param.json’ http://192.168.1.1:3000/api/query