我有一个服务器的网址https://mylink/apply?data=,它接受数据变量作为以下属性的有效JSON: -
我的JSON文件" data.json"如下:
{
"data":
{
"name": "Rogers Bell",
"email": "xxxx@gmail.com",
"urls":["https://stackoverflow.com/users/3067241/imran", "https://github.com/i4ali"],
"comment":"none"
}
}
当我使用以下CURL命令发送POST请求时,我收到错误代码 400 Bad Request ,其中包含来自服务器的消息错误:没有数据通过。指示我的JSON格式或命令有问题。不知道我在这里做错了什么
curl -v -i -X POST -d @data.json https://mylink/apply?data= -H "Accept: application/json" -H "Content-Type: application/json" -k
如果重要,我正在使用Windows 7
答案 0 :(得分:3)
API非常奇怪。但是,如果您必须阅读JSON文件并将其内容作为URL参数发布到服务器,则可以cat
该文件,对其进行编码并将其发送到curl
。这是一个例子:
curl -G -X POST https://requestb.in/1n88lah1 --data-urlencode data="$(cat input.json)"
input.json
看起来像:
{
"name": "Rogers Bell",
"email": "xxxx@gmail.com",
"urls":["https://stackoverflow.com/users/3067241/imran", "https://github.com/i4ali"],
"comment":"none"
}
答案 1 :(得分:-1)
使用Postman我能够使用以下完整URL发送此POST请求。得到 200 OK 回复
https://mylink/apply?data={
"name": "Rogers Bell",
"email": "xxxx@gmail.com",
"urls":["https://stackoverflow.com/users/3067241/imran", "https://github.com/i4ali"],
"comment":"none"
}