一些网络上的audio 资源,如果只有用wget 去抓取的话,是不会有什么结果的。
例如: http://streaming.q-music.be/QBE_HI
如果直接用wget 来抓取的话,会得到这样的一个文本文件
[Reference]
Ref1=http://streaming.q-music.be/QBE_HI?MSWMExt=.asf
Ref2=http://192.168.68.69:80/QBE_HI?MSWMExt=.asf
我们的目的是抓起这个url 所对应的audio 文件。可以把wget 稍微变通一下,就可以模拟一个audio streaming 的client 。
$ wget.exe --user-agent='NSPlayer/4.1.0.3856' --header='Pragma: xClientGUID={c77e7400-738a-11d2-9add
-0020af0a3278}' --header='Pragma: no-cache,rate=1.000000,stream-time=0,stream-offset=0:0,request-context=2,max-duration
=0' --header='Pragma: xPlayStrm=1' --header='Pragma: stream-switch-entry=ffff:1:0' --header='Pragma: stream-switch-coun
t=1' http://streaming.q-music.be/QBE_HI
这样服务器端就以为是一个Network player 发起播放请求,从而达到用wget 来抓去audio 数据的目的。
一些wget 的版本,对于header 参数中的key 值进行判断,如果key 值相同,那么只是保存最后一个key 值,因此一些wget 上面传递的参数对于Parama 之能够用最后一个。 最新的wget 好像更正了这个问题。
例如: http://streaming.q-music.be/QBE_HI
如果直接用wget 来抓取的话,会得到这样的一个文本文件
[Reference]
Ref1=http://streaming.q-music.be/QBE_HI?MSWMExt=.asf
Ref2=http://192.168.68.69:80/QBE_HI?MSWMExt=.asf
我们的目的是抓起这个url 所对应的audio 文件。可以把wget 稍微变通一下,就可以模拟一个audio streaming 的client 。
$ wget.exe --user-agent='NSPlayer/4.1.0.3856' --header='Pragma: xClientGUID={c77e7400-738a-11d2-9add
-0020af0a3278}' --header='Pragma: no-cache,rate=1.000000,stream-time=0,stream-offset=0:0,request-context=2,max-duration
=0' --header='Pragma: xPlayStrm=1' --header='Pragma: stream-switch-entry=ffff:1:0' --header='Pragma: stream-switch-coun
t=1' http://streaming.q-music.be/QBE_HI
这样服务器端就以为是一个Network player 发起播放请求,从而达到用wget 来抓去audio 数据的目的。
一些wget 的版本,对于header 参数中的key 值进行判断,如果key 值相同,那么只是保存最后一个key 值,因此一些wget 上面传递的参数对于Parama 之能够用最后一个。 最新的wget 好像更正了这个问题。