Ich arbeite an einem PHP/HTML-Skript.Song von Shoutcast lesen
Ich möchte den aktuellen Song eines Shoutcast-Stream mit Autorefresh erhalten, wenn sich der Song ändert.
Shoutcast- nicht HTTP-Anforderung ermöglichen, so dass ich mit diesem Skript, um die Seite in einer anderen Datei zu erhalten:
<?php
$lurl=get_fcontent("http://5.135.39.189:8000/");
echo"cid:".$lurl[0]."<BR>";
function get_fcontent($url, $javascript_loop = 0, $timeout = 5) {
$url = str_replace("&", "&", urldecode(trim($url)));
$cookie = tempnam ("/tmp", "CURLCOOKIE");
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); # required for https urls
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
$content = curl_exec($ch);
$response = curl_getinfo($ch);
curl_close ($ch);
if ($response['http_code'] == 301 || $response['http_code'] == 302) {
ini_set("user_agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1");
if ($headers = get_headers($response['url'])) {
foreach($headers as $value) {
if (substr(strtolower($value), 0, 9) == "location:")
return get_url(trim(substr($value, 9, strlen($value))));
}
}
}
if ( (preg_match("/>[[:space:]]+window\.location\.replace\('(.*)'\)/i", $content, $value) || preg_match("/>[[:space:]]+window\.location\=\"(.*)\"/i", $content, $value)) && $javascript_loop < 5) {
return get_url($value[1], $javascript_loop+1);
} else {
return array($content, $response);
}
}
?>
Dann benutze ich eine andere Datei dieses mit einem HTML-DOM-Parser zu lesen, aber Ich kann nicht die richtige Zeichenfolge zum Lesen finden. Was ist der bessere Weg, dies zu tun?
Vielen Dank! Niemals diese Seite sehen, schön das zu wissen! – rayjhp