使用CURL PHP返回错误400发布请求?统一错误的请求

时间:2014-01-10 15:48:08

标签: php spring rest spring-mvc curl

我正在使用cUrl和PHP进行发布请求,代码如下所述

<?php            
 $data = array("employeeAuth" => array("employeeNumber" => "376819"));
 $data_post = json_encode($data);
 echo $data_post;
 $cSession = curl_init('http://10.40.4.170:80/xxxxxx/eeee/zzzz/kkkk');
 curl_setopt($cSession,CURLOPT_CUSTOMREQUEST,"POST");
 curl_setopt($cSession,CURLOPT_POSTFIELDS,$data_post);
 curl_setopt($cSession,CURLOPT_RETURNTRANSFER,true);
 curl_setopt($cSession,CURLOPT_HTTPHEADER,array(
            "Content-Type:application/json;charset=UTF-8",
            "Content-Length:". strlen($data_string)
           ));
 $result=curl_exec($cSession);
 curl_close($cSession);
 echo $result;
?>

此代码运行后,我从服务器获取错误400作为响应,声明请求是语法错误。如果我做错了,请告诉我。

1 个答案:

答案 0 :(得分:1)

您是根据Content-Length设置$data_string,但我认为您的意思是$data_post,因为$data_string未在任何地方定义。但是,尝试一起删除Content-Length条目,CURL将为您计算并包含它。此外,在每个标题中包含冒号之后的空格。