我试图区分404和401(或任何)HTTP状态代码,但NetStream / NetConnect引发的事件似乎不包含HTTP状态。
var url = "404_or_401_producing_url";
var _nc = new NetConnection();
_nc.connect(null);
var _ns = new NetStream(_nc);
_ns.play(url);
此流程中是否有可用的事件或属性包含HTTP状态?
答案 0 :(得分:2)
NetConnection
/ NetStatus
不起作用。这意味着要连接到RTMP服务器,它们不会丢弃4xx状态代码。但是,您可以创建一个事件监听器。
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
private function netStatusHandler(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Stream not found: " + videoURL);
break;
}
}
有a whole bunch of status codes可以收听,但没有一个是4xx错误
答案 1 :(得分:0)
要获取HTTP状态代码,我建议您使用URLStream
代替不使用NetStream
的{{1}}。
有关详细信息,请查看此处(adobe链接):URLStream和HTTPStatusEvent。验证HTTP状态后,您可以使用或不使用HTTPStatusEvent
来播放您的信息流。