如何从AS3 NetStream对象获取HTTP状态代码?

时间:2014-10-16 18:56:10

标签: actionscript-3 actionscript flash-builder

我试图区分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状态?

2 个答案:

答案 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链接):URLStreamHTTPStatusEvent。验证HTTP状态后,您可以使用或不使用HTTPStatusEvent来播放您的信息流。