首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用基本身份验证在CURL上发布JSON

使用基本身份验证在CURL上发布JSON
EN

Stack Overflow用户
提问于 2011-05-24 18:45:28
回答 3查看 89.6K关注 0票数 30

我从命令行使用Curl来调试我正在开发的一个小型web api。web api需要基本身份验证和JSON对象作为输入(POST)。目前,此基本身份验证工作正常:

代码语言:javascript
复制
curl -i --user validuser:70e12a10-83c7-11e0-9d78-0800200c9a65 http://example.com/api.php

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

代码语言:javascript
复制
curl -i --user validuser:70e12a10-83c7-11e0-9d78-0800200c9a65 -X POST -d '{"person":{"name":"bob"}}' http://example.com/api.php

使用上面的命令,我得到了一个400 Bad request响应,关于如何在这个POST请求中绑定一个json对象有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-29 22:36:32

使用以下命令尝试:

代码语言:javascript
复制
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

我删除了正文内容中的json=部分。

或者,这篇文章可能会有所帮助:How to post JSON to PHP with curl

票数 59
EN

Stack Overflow用户

发布于 2017-07-17 17:10:21

代码语言:javascript
复制
curl --request POST \
  --url http://host/api/content/ \
  --header 'authorization: Basic Esdfkjhsdft4934hdfksjdf'
票数 6
EN

Stack Overflow用户

发布于 2011-05-24 20:00:17

不要使用

代码语言:javascript
复制
$person = file_get_contents("php://input");

相反,请使用

代码语言:javascript
复制
$person = $_POST['person'];

如果你从命令行使用curl,这是想要发布json数据的语法:

代码语言:javascript
复制
curl -d 'person={"name":"bob"}'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6109227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档