CURL语法错误

时间:2018-06-10 08:46:57

标签: json curl cmd

我正在尝试使用CURL将JSON数据放入我的请求中,使用以下语法:

curl -X POST -H "Content-Type: application/json" -d '{"firstName":"First", "lastName":"last", "email":"user@xyz.com", "username":"user1", "password":"pass1"}' 127.0.0.1:3001/users

现在CMD显示此错误: as you can see

请帮忙!

3 个答案:

答案 0 :(得分:0)

我之前遇到过类似的问题,我的解决方案是将帖子数据保存在.json文件中并在请求中调用它。

curl -v -X POST https://someSite.com/randrand \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: (iPhone; iOS 7.1; Scale/2.00)' \
  --data @data.json

答案 1 :(得分:0)

我使用过:

curl -X POST -H "Content-Type: application/json" -d "{\"firstName\": \"First\", \"lastName\": \"last\", \"email\": \"user@xyz.com\", \"username\": \"user1\", \"password\": \"pass1\"}" 127.0.0.1:3001/users

它有效! 向Ross Kinard致敬以帮助提供临时解决方案,以便此问题现在指定我们可以在cmd中使用CURL发布的两种方式。

答案 2 :(得分:0)

我让批量通过用"

替换所有\"来进行转义
set "json={"firstName":"First", "lastName":"last", "email":"user@xyz.com", "username":"user1", "password":"pass1"}"
set "json=%json:"=\"%"
echo curl -X POST -H "Content-Type: application/json" -d "%json%" 127.0.0.1:3001/users

在使用前删除卷曲前面的回声。

  • 如果在没有扩展名的powershell curl中运行批处理将使用Invoke-Webrequest的别名而不是curl.exe
  • I Windows 10版本1803包含curl.exe(C:\ Windows \ system32 \ curl.exe V7.55.1.0)
  • 如果您需要特殊版本的卷曲,则位置C:\Windows\system32\可能位于环境路径之前,因此请包含您的卷曲的路径。