【问题标题】:How to get HTTP Status Code from AS3 NetStream Object?如何从 AS3 NetStream 对象获取 HTTP 状态码?
【发布时间】:2014-12-12 06:14:39
【问题描述】:

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

【问题讨论】:

    标签: actionscript-3 actionscript flash-builder


    【解决方案1】:

    NetConnection/NetStatus 不能这样工作。它旨在连接到不抛出 4xx 状态代码的 RTMP 服务器。但是,您可以创建一个事件侦听器。

    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错误

    【讨论】:

      【解决方案2】:

      要获取 HTTP 状态代码,我建议您使用 URLStream 而不是 NetStream,后者不使用 HTTPStatusEvent。 有关更多详细信息,请查看此处(来自 adobe 的链接):URLStreamHTTPStatusEvent。在验证 HTTP 状态后,您可以使用或不使用NetStream 来播放您的流。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多