Icecast радио статус не работает

Так что я занят на этом сайте, и на нем нужно радио. Они используют сервер Icecast, поэтому я получил статус Icecast из Интернета:

    <?php
$icecast_url='http://178.32.13.195:8002';

$output = file_get_contents($icecast_url);

$search='#<div class="newscontent">.*?Point /(.*?)<.*?href="(.*?)">M3U<.*?Listeners.*?class="streamdata">(.*?)<.*?Song:.*?class="streamdata">(.*?)<.*?</div>#si';
preg_match_all($search, $output, $matches);

$j=count($matches[0]);
for ($i=0;$i<$j; $i++) {

$point_name=$matches[1][$i];
$pount_m3u=$icecast_url.$matches[2][$i];
$point_listners_count=$matches[3][$i];
$point_current_song=$matches[4][$i];
//
echo 'mount point: <b>'.$point_name.'</b>
';
echo 'm3u: <a href="'.$pount_m3u.'">'.$pount_m3u.'</a>
';
echo 'listners_count: <b>'.$point_listners_count.'</b>
';
echo 'point_current_song: <b>'. $point_current_song.'</b>';
}
?>

Но это не работает. Это просто показывает пустую страницу. Кто-нибудь из вас знает, что не так?

Спасибо

0

Решение

Они используют Icecast 2.4.0, который получил переработанный интерфейс администратора, и это нарушает ваш код анализа.
Пожалуйста, не пытайтесь анализировать html, он будет зависать при каждом обновлении Icecast и изменении HTML.
Вместо этого вы можете попробовать недавно введенный status-json.xsl, то есть для этого сервера он расположен здесь: http://178.32.13.195:8002/status-json.xsl

Обратите внимание, к сожалению, из-за ошибки в json xslt это недопустимый JSON. Эта проблема исправлена ​​в Icecast 2.4.1, поэтому, если у вас есть доступ к серверу, вы можете обновить его до Icecast 2.4.1 в ближайшее время (он будет доступен, вероятно, через несколько недель). Если у вас нет доступа к серверу, вы мало что можете сделать, но разбор HTML — это худший из возможных методов.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]