![]() |
Zuhörer von einem Internetstream abfragen
Hallo,
Server von Internetradiostream haben ja so eine "Homepage" wo man sehen kann wie viele Leute gerade zuhören. ![]() Danke im Voraus Robin |
Re: Zuhörer von einem Internetstream abfragen
Was Du da verlinkt hast, *ist* eine direkte Serverantwort wenn Du versuchst, auf den Stream zu connecten und Dein Client keine bekannte Playersignatur im HTTPRequest anbietet. Direkter als so wirst Du wohl nur an Daten rankommen wenn Dir der Server selber gehört. Warum willst Du die Website nicht parsen? Ist doch klein genug :)
|
Re: Zuhörer von einem Internetstream abfragen
dann werde ich mir das mit den parsen mal anschauen. Hab gerade gar kein plan wie das geht :-D
|
Re: Zuhörer von einem Internetstream abfragen
Die bequemste Art und Weise ist wohl, sich einfach die Indy-Komponenten zu besorgen (falls man die noch nicht hat) und mit der TIdHttp (oder so ähnlich, bin gerade unterwegs) den entsprechenden Request an den Server abzusetzen, die Antwort kriegst Du dann in einer Stringlist serviert. Die gehste dann einfach Zeile für Zeile durch...
|
Re: Zuhörer von einem Internetstream abfragen
Mit ShoutCast-Servern und Streams hab ich mich schon näher beschäftigt, wenn du das Administrations-Passwort nicht hast, bleibt dir definitiv nichts anderes übrig als die von dir gesuchten Informationen aus der Webseite rauszuparsen. Etwas kürzer sind die auch immer noch in der 7.html "verpackt", um bei deinem Beispiel zu bleiben da:
![]() Wenn das Passwort bekannt ist kann man sich eine XML-Datei runterladen, die man dann aber letztendlich natürlich auch parsen muss (Parsen musst du immer irgendwas ;) ), die gibts in der admin.cgi und zwar so:
Code:
Der Output sieht dann in etwa so aus:
admin.cgi?pass=password&mode=viewxml
Code:
Das zu parsen wäre natürlich etwas einfacher als die index.html, da man immer nur nach <WASIMMER></WASIMMER> regexen müssste, aber die 7.html kann man auch relativ leicht splitten mittels
<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE SHOUTCASTSERVER (View Source for full doctype...)> - <SHOUTCASTSERVER> <CURRENTLISTENERS>5</CURRENTLISTENERS> <PEAKLISTENERS>5</PEAKLISTENERS> <MAXLISTENERS>5</MAXLISTENERS> <REPORTEDLISTENERS>0</REPORTEDLISTENERS> <AVERAGETIME>1</AVERAGETIME> <SERVERGENRE>Alternative</SERVERGENRE> <SERVERURL>http://stream.acira.net</SERVERURL> <SERVERTITLE>Acira On Air</SERVERTITLE> <SONGTITLE>Good Charlotte - In This World(Murder)</SONGTITLE> <SONGURL>http://stream.acira.net</SONGURL> <IRC>N/A</IRC> <ICQ>NA</ICQ> <AIM>NA</AIM> <WEBHITS>23</WEBHITS> <STREAMHITS>0</STREAMHITS> <STREAMSTATUS>1</STREAMSTATUS> <BITRATE>32</BITRATE> <CONTENT>audio/mpeg</CONTENT> <VERSION>1.9.7</VERSION> - <WEBDATA> <INDEX>7</INDEX> <LISTEN>0</LISTEN> <PALM7>0</PALM7> <LOGIN>0</LOGIN> <LOGINFAIL>1</LOGINFAIL> <PLAYED>7</PLAYED> <COOKIE>0</COOKIE> <ADMIN>1</ADMIN> <UPDINFO>5</UPDINFO> <KICKSRC>0</KICKSRC> <KICKDST>0</KICKDST> <UNBANDST>0</UNBANDST> <BANDST>0</BANDST> <VIEWBAN>0</VIEWBAN> <UNRIPDST>0</UNRIPDST> <RIPDST>0</RIPDST> <VIEWRIP>0</VIEWRIP> <VIEWXML>1</VIEWXML> <VIEWLOG>0</VIEWLOG> <INVALID>1</INVALID> </WEBDATA> <LISTENERS /> - <SONGHISTORY> - <SONG> <PLAYEDAT>1174757399</PLAYEDAT> <TITLE>Good Charlotte - In This World(Murder)</TITLE> </SONG> - <SONG> <PLAYEDAT>1174757379</PLAYEDAT> <TITLE>Good Charlotte - Mountain</TITLE> </SONG> - <SONG> <PLAYEDAT>1174757366</PLAYEDAT> <TITLE>Good Charlotte - I Just Wanna Live</TITLE> </SONG> - <SONG> <PLAYEDAT>1174757352</PLAYEDAT> <TITLE>Good Charlotte - Misery</TITLE> </SONG> - <SONG> <PLAYEDAT>1174757279</PLAYEDAT> <TITLE>Good Charlotte - Misery</TITLE> </SONG> </SONGHISTORY> </SHOUTCASTSERVER> ![]() In der ist natürlich nicht alles enthalten, konkret (in dieser Reihenfolge):
|
Re: Zuhörer von einem Internetstream abfragen
jo das Passwort hab ich. Für XML hab ich auch ne Componente, hab ich mir nur noch nicht mir beschäftigt xD. Ich werde mal gucken. XML Dürfe ja nicht so schwer sein.
Danke für eure Hilfe. |
Re: Zuhörer von einem Internetstream abfragen
Noch nebenbei bemerkt: wenn du die TIdHTTP-Komponente verwendest, musst du den User-Agent auf irgendetwas ändern, das das Wort "Mozilla" enthält, ansonsten wirst du absolut nichts zu sehen bekommen!
Delphi-Quellcode:
TIdHTTP.Request.UserAgent := 'User-Agent: libwww/2.17b3 Mozilla // Meflin rules oder sontwas';
|
Re: Zuhörer von einem Internetstream abfragen
Zitat:
|
Re: Zuhörer von einem Internetstream abfragen
Zitat:
Aber so ist es eben mit schlecht bis garnicht dokumentierten Programmen/Schnittstellen/Standards: Try until you die :lol: |
Re: Zuhörer von einem Internetstream abfragen
Ich hab ein Problem mit der XML-Datei. Ich lade sie zum Aktualisieren öfter runter und speicher sie dann immer in die gleiche Datei. Aber wenn ich nach den Update gucke, ist die Datei gar nicht aktualisiert.
Ich habe die Funktion
Delphi-Quellcode:
aus der Unit URLMon genommen. Es sieht fast so aus, als ob die nicht gut ist. Kenn jemand eine bessere Methode auf einfachen Wegen eine Datei runterzuladen?
URLDownloadToFile
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz