我如何在 php 中通过 cURL 发布 JSON 对象

Posted

技术标签:

【中文标题】我如何在 php 中通过 cURL 发布 JSON 对象【英文标题】:how can i post JSON object through cURL in php 【发布时间】:2011-03-18 02:01:45 【问题描述】:

如何通过 php 中的 cURL 将 JSON 对象发布到 Web 服务?

我有一个数组

$data = array('username'=>'abc','password'=>'pass');

我要调用的网络服务接受 JSON 对象,如果我使用 json_encode 将 $data 转换为 JSON,它对我不起作用。

$data = json_encode($data);

curl_setopt($ch, CURLOPT_POST      ,1);
curl_setopt($ch, CURLOPT_POSTFIELDS    ,$data);

我做错了吗?还是我需要设置更多参数?

提前感谢您的帮助。

坦梅

【问题讨论】:

【参考方案1】:

添加:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 

指定数据为 JSON。默认为application/x-www-form-urlencoded

【讨论】:

以上是关于我如何在 php 中通过 cURL 发布 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Guzzle 通话中通过登录屏幕

PHP CURL DELETE 请求

通过 cURL POST PHP 传递 JSON

如何在 moya 中通过 POST 请求传递 JSON 正文

《CURL技术知识教程》系列分享专栏

如何在 Rails 中通过 jQuery 调用 JSON 文件?