Приятный интерфейс по HTTP к ресурсам Интернет-радиостанции verdure_station. Можно в стиле Unix получать:
Ссылку на аудио-поток можно получить через промежуточный ресурс со списком доступных потоков в формате INI:
$ curl -s http://air.verdure.ru:8881/listen.pls
[playlist]
NumberOfEntries=1
File1=http://air.verdure.ru:8881/
Сам поток аудио выдаётся по протоколу SHOUTcast как audio/mpeg. Протокол не
полностью совместим с HTTP, а то бы было совсем здорово. Однако этот протокол
известен и поддерживается многими плейерами. Вот как сервер отдаёт аудио-поток:
$ curl -s http://air.verdure.ru:8881/ | head -n20
ICY 200 OK
icy-notice1:<BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>
icy-notice2:SHOUTcast Distributed Network Audio Server/FreeBSD v1.9.7<BR>
icy-name:verdure_station - www.verdure.ru
icy-genre:idm dark ambient deep
icy-url:http://www.verdure.ru
content-type:audio/mpeg
icy-pub:1
icy-br:128
[SHOUTcast data]
То есть ответ сразу начинается с тела без заголовков ответа HTTP. Зато сам ответ включает в себя HTTP-подобные заголовки протокола SHOUTcast.
Но всё это был более-менее известный SHOUTcast. Приятная вещь, которая меня порадовала, это листинг текущей программы в простом текстовом формате:
$ curl -s http://verdure.ru/list.txt
14:20 tisane - exclusive nightmare
14:56 phon.o - live@zona moscow 2004
15:47 deps - empty street
17:08 anton lanski - mokriy kofe
17:38 crab - katalog
...
12:53 acrotone - up the stairs
------------
beta lineup for verdure.ru, time is MSK GMT+4 (generated: 20100220 14:21:17)
То есть можно делать с ним практически любые вещи. Например, сделать отправку себе письма, если в ближайшее время будет микс понравившегося DJ.
Here you can find markdown vim syntax file made by Ben Williams. Put it to the ~/vim/syntax/ folder.
To add syntax...
“This image was taken on September 15, 2006 and received on Earth September 20, 2006. The camera was pointing toward Saturn at approximately 2M...
Well, it looks like GCC 4.3.2 does not comply to C99 specification. It clearly states that:
6.8.6.4.1 ... A...