使用字符串数组作为参数的 curl POST 请求

Curl POST request with an array of strings as a paramter

我想发送带有查询参数的 curl post 请求。其中一个参数是字符串数组。此类字符串的示例(使用 Postman chrome 扩展名):

http://www.example.com/my_rest_endpoint?start=123456&duration=11&array_param=["activity level"]

现在,如何将此请求转换为 curl 命令?无论我做什么,我似乎都无法将最后一个参数 array_param 发送到 curl。我试过用 \ 转义引号 and/or 括号,尝试使用 -i 标志和其他各种选项,但都没有成功。

您是否尝试过将 ' 放在参数周围而不是转义?

此外,如果这不起作用,您可以尝试像 this 维基百科中的示例那样转义它们。

您可以找到编码 here 的代码。

解决方案与 benaryorg 建议的非常接近:根据 url encoding,括号和空格需要用 %5B、%5D 和 + 放置。引号使用\"进行转义,最终结果为:

http://www.example.com/my_rest_endpoint?start=123456&duration=11&array_param=%5B\"Activity+Level\"%5D".