Как отпинговать на php https — сервер (с ошибкой сертификата)

Как отпинговать IP-адрес удалённого компьютера при помощи php? Очень просто, при помощи библиотеки cURL. Да вот засада, получить через неё отклик Апаче — код 200 можно только на 80 порту. А если у вас только 443 порт открыт? А в php закрыты system, exec, shell и прочие системные функции сервера из соображения безопасности что тогда? Почитав внимательно тут: https://phpforum.ru/index.php?act=Print&client=printer&f=11&t=6543 понял, что действовать нужно именно в этом направлении, т.к. по http-протоколу — 200 код — легко передаётся. Но были варианты и с fopen — но, опять но — не даёт это сделать отсутствующий сертификат в любом случае. Задача: получить мгновенно на php — переменную равную 200 или ещё какому-либо «числу» ответа от сервера http или https. Но, если в случае с 80-портом оказалось всё пуляет как надо, то в случае с 433-портом полная жопа — опять вываливается надпись «это мол не доверительное соединение» нажмите туда-сюда. А если у вас этих адресов 1000? И вам нужно сделать всё автоматически — без вашего участия. Так вот, как я после долгих мучений решил эту проблему.Всё гениальное просто, а всё что просто требует нормального справочного материала. Честно говоря, про библиотеку cURL для php я наслышен давно, да вот больно опционала в ней многовато, а грамотного технического перевода и примеров — всего один русский сайт нашёл — позор. И так, как я с лёгкостью пинговал различные IP-адреса по 80-му порту, так же я хотел сделать с 433-м (т.е. https) Но, «чем дальше в лес» — тем только «толще партизаны». Вывод — у меня «зависла» голова. Перекурив я продолжил попытки и экспериметы с пингом удалённых адресов, и вот экспериментально, мы как бы обходим ошибку сертификата ssl — опля, см. код:

if ($compname == $count1) // Тут я беру из БД айпишник и проверяю
{
$ip = htmlspecialchars(strip_tags($count3)); // Удаляю теги от хакероффф
$ip = ereg_replace («,», «.», $ip);
$newip = $ip;
// echo $ip;
}

// Если версия Software! и Если — не https то любая другая версия
$version = «Software»; // В этой папке лежит https и нет сертификата cert
if ($version == $count2) // Проверяю из БД — он, это или Не он.
{
$ip = «https://».$newip.»/».$version.»/»; // Делаю строчку для https-протокола
// echo $ip;
}

$ipsubstr = substr($newip, 0, 3); // возвращает «abc»
// echo (» <br>ipsubstr:».$ipsubstr.»<br>»);       // 123.97.65.43 — делаю маску, по первым трём знакам слева.
if ($ipsubstr!=»10.» || $ipsubstr!=»0.0″ || $ipsubstr!=»0.1″ || $ipsubstr!=»100″) // Это, что бы не пинговать СЕТИ: «Известной фирмы» или «НАШУ ЛОКАЛКУ»
{

// Инициализируем среду для подключения (библиотека php cURL)
$ch = curl_init(); // инициализируем сессию пинга (ch) — канал 1 (2,3,4,5,6 — многопоточность)

if (!$ch) {
die(«Не могу инициализировать cURL заголовок»);
}


// Устанавливаем настройки для вывода
$ret = curl_setopt($ch, CURLOPT_URL, $ip); // сцылка c IP полученным из моей БД
$ret = curl_setopt($ch, CURLOPT_HEADER, 1); // Выводить или не выводить заголовок
$ret = curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // Запрещаем проверку сертификата *.cert — вот она, сука — ТА САМАЯ СТРОЧКА, которую надо дописать для https и http!
$ret = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // если ошибка связи
$ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Обратное эхо
$ret = curl_setopt($ch, CURLOPT_TIMEOUT, 20); // ожидать время отклика
$ret = curl_exec($ch); // Выполняем пинг

if (empty($ret)) {
// на случай если пришёл «пустой» ответ от удалённого сервера
die(curl_error($ch));
curl_close($ch); // закрываем cURL сессию — канал (сh=1)
} else {
$info = curl_getinfo($ch);
curl_close($ch); // закрываем cURL cессию  — канал (ch=1)

if (empty($info[‘http_code’])) {
die(«Иниуиализированная сессия cURL вернула пустоту»);
} else {

// выводим результат

echo «Сервак ответил: «;
echo «#».$info[‘http_code’]; // Тело HEADER-заголовка Ура! Код=200
// echo $http_codes[$info[‘http_code’]]; // тело WEB-страницы, если надо
$ippinger = $info[‘http_code’];
}

}

if ($ippinger==»200″) // Если код получили 200 — то, уряяя!!!
{ // Тут, мы выводим, что хотим — ведь резульат получен

}

//…. и т.д. — можете подобрать эксперементально, выводя эхом значение $ippinger

if ($ippinger==»300″) // Если код получили 300 — то, уряяя!!!
{ // Тут, мы выводим, что хотим — ведь резульат получен

}