我正在使用cURL和PHP将数据作为JSON发布到API。
数据发布正确,但我的状态代码为0.
我需要一种方法来确认POST是否成功,以便我可以向用户反馈他们的数据输入正确。
可能导致0响应的原因是什么? API文档要求200(成功)或401(不成功)。 Here是文档
以下是我正在使用的代码:
// The request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$auth_url);
curl_setopt($ch,CURLOPT_POST, count($xml));
curl_setopt($ch,CURLOPT_POSTFIELDS, $xml_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$apiemail:$apipassword");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($xml_string))
);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code
$result = curl_exec ($ch);
curl_close ($ch);
echo 'The result is: ' . $result . '<br />';
echo 'The status code is: ' . $status_code . '<br />';
答案 0 :(得分:2)
$result = curl_exec ($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code after exec
首先尝试执行它然后检索状态代码怎么样?