首页 > 解决方案 > PHP 使用 CURL 发布 JSON

问题描述

我正在尝试使用 CURL 发布 JSON,并创建了一个表来存储数据以及从我将数据发送到的 url 获得的响应。

但是,回复一直说我的“发布数据为空”,我不知道为什么。

我在https://reqbin.com/之类的网站上使用存储在我的表中的数据对其进行了测试,并且它工作正常,因为我得到了“成功”的响应。

有人可以帮我弄清楚为什么我的数据一直被清空吗?

下面是我的代码

$url = "url that im trying to post Json to.";
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($json_object));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$result = curl_exec($ch);

我也尝试过使用 http_build_query 但它不起作用。

提前致谢!

标签: phpjsonapicurlpost

解决方案


PHP默认识别application/x-www-form-urlencoded标准数据类型

// 一

$post = $GLOBALS['HTTP_RAW_POST_DATA'];

// 二

$post = file_get_contents("php://input");

推荐阅读