HTTP状态码0,如何确认成功结果? (cURL和PHP)

时间:2014-09-12 09:19:46

标签: php curl

我正在使用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 />';

1 个答案:

答案 0 :(得分:2)

$result = curl_exec ($ch);    
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);   //get status code after exec

首先尝试执行它然后检索状态代码怎么样?