Есть у нас небольшой скриптик, который каждые 15 секунд проверяет наличие сообщений в чате Telegram.
Обращение к телеграм идёт с использованием Curl.
Всё работает прекрасно в 97% случаев. А в 3% случаев Curl вываливается с ошибкой установки SSL соединения (35).
Вот код:
function BotRequestJson($method, $parameters)
{
global $bot_auth;
$parameters["method"] = $method;
$handle = curl_init("https://api.telegram.org/".$bot_auth."/");
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($handle, CURLOPT_TIMEOUT, 60);
curl_setopt($handle, CURLOPT_POSTFIELDS, json_encode($parameters,JSON_UNESCAPED_UNICODE));
curl_setopt($handle, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
$response = curl_exec($handle);
if ($response === false)
{
$e=curl_errno($handle);
curl_close($handle);
return $e;
}
......
Напрягает вероятностный характер ошибки - т.е. в большинстве случаев работает.
Какую можно сделать диагностику, чтобы найти ошибку?