我正在尝试发送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
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
我认为你需要在curl中添加另一个参数
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
其中$ postData是你的帖子数据