如何使用VbScript从Shoutcast流媒体服务器获取状态? 我越接近就是:
Dim xHttp: Set xHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
Dim bStrm: Set bStrm = CreateObject("Adodb.Stream")
xHttp.Open "GET", "http://www.partyvibe.com:8010", False
xHttp.Send
with bStrm
.type = 1 'binary
.open
msgbox xHttp.responseBody
msgbox .state
end with
但它实际上并不起作用,因为流永远不会完成'打开'它是一个连续的无线电流。
我想只检索流的几个第一个字节以了解服务器响应。 (例如:服务器已关闭,服务器正在流式传输,超时,......)
它也可能不是Shoutcast服务器。
答案 0 :(得分:0)
以下是解决方案:
Const TIMEOUT = 5000
Dim xHttp: Set xHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
Dim url: url = "http://www.partyvibe.com:8010"
xHttp.Open "GET", url, True
xHttp.setRequestHeader "User-Agent", "Winamp/5.x"
xHttp.Send
WScript.sleep TIMEOUT
If (xHttp.readyState<>3) then
msgbox "Stream server is not responding!"
end if
.readyState refrence: http://msdn.microsoft.com/en-us/library/ms761388%28v=vs.85%29.aspx