卷曲不工作并返回400 Bad Request

时间:2014-06-06 09:18:56

标签: 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: 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_dump($data)返回400 Bad Request有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

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

curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

其中$ postData是你的帖子数据