如何在cURL请求中使用PHP发送空数组值?

时间:2016-07-12 06:04:39

标签: php rest post curl

JAVA中内置了一个REST API,它接受一个空数组作为请求参数。如果没有此参数,API将返回空响应。由于我没有构建此API,因此我不知道发送此空参数的重要性。请求应该是这样的,以便从API获得适当的响应。

//Post data 
$data = array('fieldValues'=>array(),'token'=>'XXXxXX7.......');

$postUrl = 'http://<REST API URL>/<service url>';
$postdata = http_build_query(json_decode(file_get_contents("php://input"), true));

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $postUrl);
curl_setopt($ch, CURLOPT_POST, 1);

// in real life you should use something like:
 curl_setopt($ch, CURLOPT_POSTFIELDS, 
          $postdata);

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);

curl_close ($ch);
echo $server_output;
exit;

我的问题是http_build_query从CURL帖子字段中转出fieldValues。如何将其包含在帖子数据中?

1 个答案:

答案 0 :(得分:0)

显然http_build_query删除了空数组。您可以重新实现该函数以包含空数组,也可以手动将空数组添加到后期数据中。