Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Shoutcast2 Auslesen

Diskussion: Shoutcast2 Auslesen im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo ich habe mir die Frage gestellt, wie ich am besten den Shoutcast2 auslesen könnte. Zum einen gibt es ...

Antwort
Alt 07.12.11, 19:08   #1 (permalink)
 
Registriert seit: 07.12.11
Garfield200508 Leistung: Facit NTK
Likes: 0
Standard Shoutcast2 Auslesen

Anzeige

Hallo ich habe mir die Frage gestellt, wie ich am besten den Shoutcast2 auslesen könnte.

Zum einen gibt es ja hier im Forum die Variante für den Shoutcast Server bis version 1.9.9
(ShoutCast auslesen)

Nun wollt ich das ganze auf Shoutcast2 umstellen, hab die abfrage angepasst von

PHP-Code:
if(fputs($fp"GET /admin.cgi?pass=".$scast_pass."&mode=viewxml HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n")) { 
in
PHP-Code:
if(fputs($fp"GET /admin.cgi?pass=".$scast_pass."&sid=1&mode=viewxml HTTP/1.1\r\nUser-Agent: (Mozilla Compatible)\r\n\r\n")) { 
vor der änderrung habe ich einen Shoutcast V1 Server eingetragen und der hat dann Funktioniert (nicht anders zu erwarten)
Nach der änderrung habe ich die Daten eines Sc_Serv2 Servers eingetragen und es wird mir nur noch Offline ausgegeben.

die adresse funktioniert auch, also wird mir auch die XML angezeigt, deswegen versteh ich auch nicht warum das da nicht funktioniert.
Shoutcast Server V2 XML
PHP-Code:
// Serverdaten
    
$scast_host '84.200.43.10';
    
$scast_port '8000';
    
$scast_pass 'testing';

// XML holen
    
if($fp = @fsockopen($scast_host$scast_port$errno$errstr30)) {
        if(
fputs($fp"GET /admin.cgi?pass=".$scast_pass."&sid=1&mode=viewxml HTTP/1.1\r\nUser-Agent: (Mozilla Compatible)\r\n\r\n")) {
            
$xmldata "";
            while(!
feof($fp)) $xmldata .= fgets($fp1000);
            
$xmldata explode("\r\n"$xmldata);
            
$xmldata $xmldata[3];
        }
    }

// Regex Funktionen
    
function get_item($name$source) {
        
preg_match('#<'.$name.'>(.*?)</'.$name.'>#'$source$matches);
        return 
$matches[1];
    }
    function 
get_items($name$source) {
        
preg_match_all('#<'.$name.'>(.*?)</'.$name.'>#'$source$matches);
        return 
$matches[1];
    }


// Werte aus XML auslesen
    
$sc_stream_status get_item("STREAMSTATUS"$xmldata);
    
    if(
$sc_stream_status) {
        
$sc_stream_bitrate get_item("BITRATE"$xmldata);
        
$sc_listeners_cur  get_item("CURRENTLISTENERS"$xmldata);
        
$sc_listeners_peak get_item("PEAKLISTENERS"$xmldata);
        
$sc_listeners_max  get_item("MAXLISTENERS"$xmldata);
        
$sc_server_title   get_item("SERVERTITLE"$xmldata);
        
$sc_server_url     get_item("SERVERURL"$xmldata);
        
$sc_server_genre   get_item("SERVERGENRE"$xmldata);
        
$sc_server_version get_item("VERSION"$xmldata);
        
$sc_current_song   get_item("SONGTITLE"$xmldata);
    }
    if(!(
$sc_stream_bitrate)) {
        echo 
"        <h1>Sorry, aber Server ist offline!</h1>" "\n";
    }
    else {
        echo 
"        <h3>Allgemeine Infos</h3>" "\n";
        echo 
"        <table border=1>" "\n";
        echo 
"            <tr>" "\n";
        echo 
"                <td>Bitrate</td><td>$sc_stream_bitrate</td>" "\n";
        echo 
"            </tr>" "\n";
        echo 
"            <tr>" "\n";
        echo 
"                <td>Aktuelle Zuhoerer</td><td>$sc_listeners_cur</td>" "\n";
        echo 
"            </tr>" "\n";
        echo 
"            <tr>" "\n";
        echo 
"                <td>Peak Zuhoerer</td><td>$sc_listeners_peak</td>" "\n";
        echo 
"            </tr>" "\n";
        echo 
"            <tr>" "\n";
        echo 
"                <td>Max Zuhoerer</td><td>$sc_listeners_max</td>" "\n";
        echo 
"            </tr>" "\n";
        echo 
"            <tr>" "\n";
        echo 
"                <td>Servertitel</td><td>$sc_server_title</td>" "\n";
        echo 
"            </tr>" "\n";
        echo 
"            <tr>" "\n";
        echo 
"                <td>ServerURL</td><td>$sc_server_url</td>" "\n";
        echo 
"            </tr>" "\n";
        echo 
"            <tr>" "\n";
        echo 
"                <td>ServerGenre</td><td>$sc_server_genre</td>" "\n";
        echo 
"            </tr>" "\n";
        echo 
"            <tr>" "\n";
        echo 
"                <td>Version</td><td>$sc_sever_version</td>" "\n";
        echo 
"            </tr>" "\n";
        echo 
"            <tr>" "\n";
        echo 
"                <td>Liedtitel</td><td>$sc_current_song</td>" "\n";
        echo 
"            </tr>" "\n";
        echo 
"        </table>" "\n";
    }

echo 
"    </body>" "\n";
echo 
"</html>" "\n"
die Daten sind hier zwar aktuell für den Test aber nicht im Betrieb vorhanden. Nicht wundern also

so nun meine Frage.:

Kann mir jemand dabei helfen ein Besseres ergebniss zu erhalten aus die ständige Offline meldung?

Geändert von Garfield200508 (07.12.11 um 19:13 Uhr) Grund: ergänzungen beigefügt
Garfield200508 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Shoutcast2 Auslesen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ICQ Auslesen Jolle775 Applikationen 11 20.07.07 20:00
PHP auslesen? shoggy Internet Allgemein 7 18.04.06 13:09
Dev C++ auslesen von *.ini ??? bLaCk-DrAg0n Code Kitchen 8 31.10.05 13:19
Auslesen -Tux- (Web-) Design und webbasierte Sprachen 5 01.06.05 21:36
ID3 - Tag auslesen tine Die Problemzone 0 10.07.03 14:17


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61