【发布时间】:2016-04-09 14:57:57
【问题描述】:
我正在尝试执行使用预定义变量作为标头的 curl 命令。
header='-H "Content-Type: application/json" -H "userGUID: 7feb6e62-35da-4def-88e9-376e788ffd97" -H "Content-Length: 51"'
这本质上是 curl 命令
curl $header -w "http code: %{http_code}\\n" -X POST -d $BODY $URL
然后返回错误消息
rl: (6) Could not resolve host: application
curl: (6) Could not resolve host: 7feb6e62-35da-4def-88e9-376e788ffd97"
curl: (6) Could not resolve host: 51"
这按预期工作
curl -H "Content-Type: application/json" -H "userGUID: 7feb6e62-35da-4def-88e9-376e788ffd97" -H "Content-Length: 51" -w "http code: %{http_code}\\n" -X POST -d $BODY $URL
我试图将标头作为变量传递的原因是因为我正在编写一个循环遍历数组的脚本,但目前由于某种原因这不适用于标头。为 body 传递参数没有问题。
【问题讨论】:
-
分词使您的标题参数
-H、"Content-Type:、application/json"等。我建议您使用数组来保存标题。否则你可能需要eval。 -
你会在 curl 命令中执行 eval 命令吗?