如何使用JSON参数cURL发布?

时间:2014-08-21 20:57:43

标签: json post curl

我不确定这是否可行,但我正在尝试卷曲帖子,但是以json为参数,如下:

curl -X POST 'https://myserver/action?params={"field1":"something","whatever":10,"description":"body","id":"random","__oh__":{"session":"12345678jhgfdrtyui"}}'

然而,我不断收到一些错误curl: (3) [globbing] nested braces not supported at pos X

我该怎么做?

2 个答案:

答案 0 :(得分:13)

卷曲错误是由于大括号{}和方括号[]是特殊的卷曲字符。使用-g选项关闭globbing,你应该没问题。

与此帖相同的问题: How to PUT a json object with an array using curl

答案 1 :(得分:5)

有两种方法可以解决这个问题。

  1. 确保您的JSON已正确转义,以便可以将其作为参数发送。
  2. 设置HTTP标头以接受json。
  3. 例如:

    curl -X POST -H "Content-Type: application/json" \
    --data '{"field1":"something","whatever":10,"description":"body","id":"random","__oh__":{"session":"12345678jhgfdrtyui"}}' \
    https://example.com/action