AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Zuhörer von einem Internetstream abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Zuhörer von einem Internetstream abfragen

Ein Thema von robinWie · begonnen am 24. Mär 2007 · letzter Beitrag vom 27. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#1

Zuhörer von einem Internetstream abfragen

  Alt 24. Mär 2007, 16:40
Hallo,
Server von Internetradiostream haben ja so eine "Homepage" wo man sehen kann wie viele Leute gerade zuhören. Gugst du hier Wie kann ich die Informationen da "runterziehen" ohne die Website zu parsen. Also den Server direkt abfragen? Geht das vielleicht sogar ganz einfach mit den TSocket Komponenten von Delphi?

Danke im Voraus
Robin
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Zuhörer von einem Internetstream abfragen

  Alt 24. Mär 2007, 16:47
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
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Zuhörer von einem Internetstream abfragen

  Alt 24. Mär 2007, 17:02
dann werde ich mir das mit den parsen mal anschauen. Hab gerade gar kein plan wie das geht
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Zuhörer von einem Internetstream abfragen

  Alt 24. Mär 2007, 17:08
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...
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#5

Re: Zuhörer von einem Internetstream abfragen

  Alt 24. Mär 2007, 18:44
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: http://drumheads.de:1367/7.html

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:
admin.cgi?pass=password&mode=viewxml
Der Output sieht dann in etwa so aus:
Code:
<?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>
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 ExplodeExplode beispielsweise

In der ist natürlich nicht alles enthalten, konkret (in dieser Reihenfolge):
  • Derzeitige Zuhörerzahl
  • Streamstatus: 1 oder 0 für on- oder offline
  • Zuhörerrekord
  • Hörerlimit
  • Gemeldete Zuhörer
  • Bitrate
  • Titelinfo: was der Sender überträgt, meistens eben Interpret und Titel
Wenn das nicht reicht, musst du dich zwangsläufig durch den Quelltext der index.html wühlen, was aber nicht ganz so spassig ist

  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Zuhörer von einem Internetstream abfragen

  Alt 24. Mär 2007, 19:32
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.
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#7

Re: Zuhörer von einem Internetstream abfragen

  Alt 24. Mär 2007, 20:10
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!
TIdHTTP.Request.UserAgent := 'User-Agent: libwww/2.17b3 Mozilla // Meflin rules oder sontwas';
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Zuhörer von einem Internetstream abfragen

  Alt 26. Mär 2007, 19:19
Zitat von Meflin:
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!
TIdHTTP.Request.UserAgent := 'User-Agent: libwww/2.17b3 Mozilla // Meflin rules oder sontwas';
DANKE für diesen Hinweis, hat mir SEHR geholfen!
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#9

Re: Zuhörer von einem Internetstream abfragen

  Alt 26. Mär 2007, 21:24
Zitat von Dunkel:
DANKE für diesen Hinweis, hat mir SEHR geholfen!
Freut mich doch immer wenn ich jemanden von seinen schlaflosen Nächten erlösen kann

Aber so ist es eben mit schlecht bis garnicht dokumentierten Programmen/Schnittstellen/Standards: Try until you die

  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Zuhörer von einem Internetstream abfragen

  Alt 26. Mär 2007, 22:08
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 URLDownloadToFile 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?
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz