daten eines shoutcastservers abfragen



  • Hi,

    ich hab gerade eine Idee im Kopf aber weiß leider nicht wie ich sie umsetze.
    Vielleicht kann mir ja hier einer auf die Sprünge helfen.

    Mit schwebt folgendes vor:
    Ich möchte folgende Informationen von einem Shoutcastserver im Internet abfragen und anzeigen.
    Server Status
    Stream Status
    Listener Peak
    .
    .
    Current Song
    Halt eben was das Web-IF auch hergibt.

    Das ganze soll ein kleines in c oder cpp geschriebenes Tool erledigen.

    Aber ich finde keinen richtigen Ansatz, wie ich an diese Daten komme.

    Für einen kleinen Tip schon mal ein grußes THX
    Gruß
    gast1696



  • Hy

    Hier findest du erstmal eine kleine Einführung zu HTTP-Sockets: http://www.c-plusplus.net/forum/viewtopic-var-t-is-169861.html

    Wenn du dich damit angefreundet hast, kannst du ja erstmal das Webfrontend direkt auslesen. Um informationen eines shoutcastservers direkt zu erfragen benötigst du Grundkentnisse über das Protokoll. Und da ist die einfachste Methode, baus dir daheim auf, hol dir wireshark und sniffere das Netz damit du weiß welche Kommandos geschickt werden.

    Mfg Marco



  • Das Protokoll ist genau wie HTTP nur die erste Zeile ist anders, und ein paar zusätzliche Header-Zeilen.

    Du kannst z.B. libcurl für das Abfragen verwenden.



  • Falls du dich für libcurl entscheiden solltest, dann musst du mit curl_easy_setopt(..., CURLOPT_HTTP200ALIASES, ...) den String "ICY 200 OK" hinzufügen.



  • Hi,

    Danke das sind ja schon mal paar Sachen in die richtige Richtung.
    Die html Seite kann man nicht einfach mt wget holen das immer der Stream dann gespeichert wird und nicht die html Seite.
    (testserver:8000)

    Das wäre allerdings das Einfachste.
    Ein Testserver hab ich hier.

    Mit libcurl hab ich noch nichts gemacht ein brauchbarer Codeschnippsel wäre mir da sehr hilfreich.

    Aber noch mal, vielen Dank

    Gruß
    gast1696



  • Hi,

    sende mal einen anderen User-Agent String beim HTTP-Request, also den eines Browsers.


Anmelden zum Antworten