如何使用curl post json参数

How to cURL post with JSON parameters?

本问题已经有最佳答案,请猛点这里访问。

我不确定这是否可行,但我正在尝试卷曲一个帖子,但使用JSON作为参数,例如:

1
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 posx

我该怎么做?


卷曲错误是由于大括号和方括号[]是特殊的卷曲球形字符。使用-g选项关闭globbing,您应该没事。

与本帖相同的问题:如何使用curl将带有数组的JSON对象


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

  • 确保正确地转义了JSON,以便它可以作为参数发送。
  • 将HTTP头设置为接受JSON。
  • 例如:

    1
    2
    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