我正在尝试使用cURL发布json数据。这个想法是:如果网址无法访问(例如互联网连接失败),请继续尝试在成功时发布json。它工作,但当我把它放入while循环时它只执行一次。我做错了什么:
$jsonDataEncoded = json_encode($event);
echo $jsonDataEncoded;
echo "\n";
$send_failure = true;
while ($send_failure) {
$url = "a";// intentionally inaccessible url
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($jsonDataEncoded)));
$result = curl_exec($ch);
if(curl_errno($ch)){
throw new Exception(curl_error($ch));
} else {$send_failure = false;}
return $result;
}
答案 0 :(得分:0)
您必须使用var_dump($ result)打印并检查$ result中的值; 。 如果有任何连接错误,则返回错误代码,您可以在IF条件下检查手动。希望这对你有帮助。