Php Curl不工作并返回400个错误请求

Php Curl不工作并返回400个错误请求,php,curl,Php,Curl,我试图发出一个curl请求,将一些数据发布到restful api。 这就是我的代码: $header = "POST HTTP/1.0 \r\n"; $header .= "Content-type: text/xml \r\n"; $header .= "Content-length: " . strlen($xml) . " \r\n"; $header .= "Content-transfer-encoding: text \r\n"; $header .= "Connection: c

我试图发出一个curl请求,将一些数据发布到restful api。 这就是我的代码:

$header = "POST HTTP/1.0 \r\n";
$header .= "Content-type: text/xml \r\n";
$header .= "Content-length: " . strlen($xml) . " \r\n";
$header .= "Content-transfer-encoding: text \r\n";
$header .= "Connection: close \r\n\r\n";
$header .= $xml;
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
curl_setopt($ch, CURLOPT_POST, true);

$data = curl_exec($ch);
if (curl_errno($ch)) {
    print curl_error($ch);
} else {
    curl_close($ch);
    echo 'success';
}
$xml
包含我要发布的数据

好吧,问题是当我运行脚本时,它会呼应“成功”,但帖子并没有真正完成

这里有什么问题

谢谢


编辑:
var\u dump($data)
返回一个
400错误请求
有什么办法解决这个问题吗?

我认为您需要在curl中添加另一个参数

curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

其中$postData是您的post数据

您是否转储过$data?它返回400:错误请求是否有任何方法可以查看实际请求,以便我尝试修复它?您为什么使用
CURLOPT_CUSTOMREQUEST
进行post?你可能会对这个问题感兴趣,所以@bansi我来看看