我正在使用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作为响应,声明请求是语法错误。如果我做错了,请告诉我。
答案 0 :(得分:1)
您是根据Content-Length
设置$data_string
,但我认为您的意思是$data_post
,因为$data_string
未在任何地方定义。但是,尝试一起删除Content-Length
条目,CURL将为您计算并包含它。此外,在每个标题中包含冒号之后的空格。