如何从命令行执行cURL POST请求中的数组

时间:2017-03-28 23:08:58

标签: arrays json curl http-post

我正在尝试根据以下要求发送POST请求。

准则

提交的内容类型应为application / json

以下是身体的结构:

名称:字符串

PhoneNumber:String

电子邮件:字符串

职位:字符串

Urls:包含以下属性的对象数组

类型:字符串

链接:字符串

所有字段都是必填字段。 至少有一个带有"简历"的网址类型是必需的

如果您的提交成功,您将收到HTTP 202响应

我相信我的语法对于以JSON发送数据是正确的。

我在正确编码数组时遇到了麻烦。

到目前为止我的代码:

curl -g -i -H "Accept: application/json" -H "Content-Type:
     application/json" -X POST -d '{"Name":"data", 
     "PhoneNumber":"data", "Email":"data@gmail.com", 
     "Position":"data", "Url[]=GitHub", 
     "Url[]=github.com/data", "Url[]=Resume", 
     "Url[]=linkedin.com/in/data"}' 
     https://example

以下是我收到的错误:

curl: (3) Port number out of range
curl: (6) Could not resolve host: gmail.com
curl: (3) Illegal port number
curl: (6) Could not resolve host: url[]=Github,
curl: (6) Could not resolve host: url[]=github.com
curl: (6) Could not resolve host: url[]=Resume,
curl: (6) Could not resolve host: url[]=linkedin.com

我们将不胜感激,如果您需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

最好将数据放入文件并调用它(例如data.json,使用-d @ data.json调用它)。

否则你需要转义里面的双引号。