使用基本身份验证在CURL上POST JSON

2ba*_*ard 29 api post json curl http

我从命令行使用Curl来调试我正在研究的小型web api.web api需要基本身份验证和JSON对象作为输入(POST).目前这种基本认证工作正常:

curl -i --user validuser:70e12a10-83c7-11e0-9d78-0800200c9a65 http://example.com/api.php
Run Code Online (Sandbox Code Playgroud)

但我也想发送一个JSON对象作为POST请求:

curl -i --user validuser:70e12a10-83c7-11e0-9d78-0800200c9a65 -X POST -d '{"person":{"name":"bob"}}' http://example.com/api.php
Run Code Online (Sandbox Code Playgroud)

我正在使用上面的命令获得400 Bad Request响应,关于如何在此POST请求中捆绑json对象的任何想法?

Jit*_*its 56

尝试使用:

curl -i --user validuser:70e12a10-83c7-11e0-9d78-0800200c9a65 -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d '{"person":{"name":"bob"}}' http://mysite.com/api.php
Run Code Online (Sandbox Code Playgroud)

我删除json=了身体内容中的位.

或者,这篇文章可能会有所帮助:如何使用curl将JSON发布到PHP


4F2*_*A2E 6

curl --request POST \
  --url http://host/api/content/ \
  --header 'authorization: Basic Esdfkjhsdft4934hdfksjdf'
Run Code Online (Sandbox Code Playgroud)