World: r3wp
[!REBOL3-OLD1]
older newer | first last |
Oldes 2-Dec-2009 [19987x2] | and use trace/net on to see what's going on |
also.. I see... I'm using R2, not R3 | |
shadwolf 2-Dec-2009 [19989x2] | i got that {icy-notice1:<BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>^M icy-notice2:SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR>^M icy-name:OUIFM^M icy-genre:Rock^M icy-url:http://www.ouifm.fr^M content-type:audio/mpeg^M icy-pub:1^M icy-br:128} >> |
ok in my opinion the metatag data stack retreived from the MP3 is faster and more beautyfull way than parsing HTML data | |
Oldes 2-Dec-2009 [19991] | to get the HTML, just use: system/schemes/http/user-agent: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" buf: read http://ifb.impek.com:8000/ print buf |
shadwolf 2-Dec-2009 [19992] | same i'm using R2 ... i don't code with R3 ... and yeah taht the R3 group .. shame on me ... I won't get a gift for Xmas... |
Oldes 2-Dec-2009 [19993] | but we are in Rebol3 group! |
shadwolf 2-Dec-2009 [19994x8] | why in the php version they use this size ? while (!feof($fp) && $c <= 20) { $contents .= fgets($fp, 4096); $c++; } |
and you 2048 ? | |
in that stack i'm supposed to get mp3 >metatag>mp3 | |
that's supposed to be the structure | |
i don't understand in teh reply it's supposed to have the title of the song and the artist information ... | |
can this help you oldes ? http://www.smackfu.com/stuff/programming/shoutcast.html | |
can i do this oldes ? p: open/direct/no-wait/binary http://ifb.impek.com:8000/ insert p "GET path HTTP/1.0 ^/ Icy-MetaData:1 ^/^/" | |
user-agent winamp doesn't work in fact the reply we have is like an HTTP document not found ... | |
Oldes 2-Dec-2009 [20002] | opening http scheme is doing the GET for you, so no, you can't do that. |
shadwolf 2-Dec-2009 [20003x2] | cause you use the http:// scheme no ? |
in your url ? using the tcp:// would it be possible ? | |
Oldes 2-Dec-2009 [20005] | yes |
shadwolf 2-Dec-2009 [20006x5] | : open/direct/no-wait/binary tcp://ifb.impek.com:8000/ insert p "GET path HTTP/1.0 ^/ Icy-MetaData:1 ^/^/" |
like that ? | |
how can i inject request to the socket ? | |
to do what is explained here http://www.smackfu.com/stuff/programming/shoutcast.html | |
oldes ? | |
Oldes 2-Dec-2009 [20011x5] | you can use something like: maxlen: 20 * 4096 p: open/no-wait/direct tcp://ifb.impek.com:8000 insert p "GET / HTTP/1.0 ^/Icy-MetaData:1 ^/^/" data: copy #{} while [not none? buf: copy/part p 2048][ append data buf if maxlen <= length? data [break] ] ;do something with data close p |
but why? You get the ICY using the method above as well. And if yu need song data, these will be in ID3 tags. | |
and the ID3 will be on the song start so this would require to listen the stream for some time and parse it | |
also instead of: while [not none? buf: copy/part p 2048][ using: while [buf: copy/part p 2048][ which is more ROBOLious :) | |
I just don't get why REBOL is changing the LF to CRLF, but I was not doing network coding for a very long time. | |
shadwolf 2-Dec-2009 [20016x5] | in fact the ICY we get with your method is a warning notice inviting you to use winamp and not the ICY with the song title and artist name wich are the information i want ... |
anyway i can work with the HTML version ... | |
oldes have you read the site i gave earlier ? | |
oh osrry i didn't read the whole replies ... | |
ok thank you very much i will try that | |
Oldes 2-Dec-2009 [20021] | no.. I don't have much time now.. I don't think it's warning. I can try to sniff real winamp communitacion later. Also we are really off topic here |
shadwolf 2-Dec-2009 [20022x2] | but with the request injection the reply is the data .... |
rhat's what the PHP script does it get the raw data tehn locate the metatag part and extract the needed data | |
Oldes 2-Dec-2009 [20024] | check this: maxlen: 20 * 4096 p: open/direct/binary tcp://ifb.impek.com:8000 insert p "GET / HTTP/1.0 ^/Icy-MetaData:1 ^/^/" data: copy #{} while [buf: copy/part p 20048][ append data buf probe length? buf if f: find buf "StreamTitle" [ probe as-string copy/part f find f ";" break ] if maxlen <= length? data [break] ] probe length? data close p |
shadwolf 2-Dec-2009 [20025] | oldes with you last methode we get the information i want oldes with you last methode we get the information i want StreamTitle='RACHID TAHA BONJOUR';StreamUrl=''; vMQ(@K @ abm@]kaz |
Oldes 2-Dec-2009 [20026] | I know:) but you should parse it using some better way, if you want to also store the MP3 |
shadwolf 2-Dec-2009 [20027x3] | so i do a find "StreamTitle=" or a parse data [ some [ "StreamTile=" copy artistsong thru ";StreamUrl="] |
in order to isolate the inforation i want | |
oldes i don't care the MP3 i can't decode it with rebol .... | |
Oldes 2-Dec-2009 [20030] | no.. the StreamTitle is just a part of the ICY info |
shadwolf 2-Dec-2009 [20031] | i just want the StreamTitle information ... |
Oldes 2-Dec-2009 [20032x2] | ok, if you need only the name, than it should be enough, if you don't get the info just in the buf border |
btw, I like Rachid Taha's music:) | |
shadwolf 2-Dec-2009 [20034x3] | yeah that's the new one ok i made a HTML version oldes if you want to see the bot |
irc.quoimagueule.com:6667 #maurice | |
ok it work perfect thank you oldes ^^ | |
older newer | first last |