【发布时间】:2014-09-03 15:49:23
【问题描述】:
我正在尝试在 Flash 视频播放器中加载广告,然后下载 VAST 文件中链接的所有 1x1 展示 gif。一切正常,直到我点击这个文件:
此文件返回状态码 302(临时移动),带有指向 http://httpstat.us/503 的 Location 标头——返回 503 错误的一种非常奇怪的方式
发生这种情况时,我在 Flash 中收到错误 #2030:“遇到文件结尾。”
查看http://httpstat.us/503,Content-Length 为 23,与返回文本的长度完全匹配(“503 服务不可用”),所以我不认为这是服务器响应的问题。
在我的 Flash 文件中,我将监听器绑定到 SecurityError 和 IOError 事件:
loader.addEventListener(Event.OPEN, onOpen);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onStatus);
loader.addEventListener(ProgressEvent.PROGRESS, onProgress);
loader.addEventListener(Event.COMPLETE, onComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, onError);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
loader.load(request);
所以我的问题是:我做错了什么?我应该如何检测和处理 Flash 中的状态码 503?
【问题讨论】:
-
我有标准的 Error #2032: Stream Error. 对于那个 url
-
@fsbmain 太奇怪了...我有一个全局未捕获的错误处理程序,它只记录时间和错误 ID,并发布“下午 12:08:29 -- 检测到崩溃 -- 错误: #2030”。堆栈跟踪只有两行:“flash.net.URLLoader.onComplete”后跟“flash.net.URLStream.readBytes”
-
@fsbmain 我刚刚做了一些测试,发现当我在本地打开 SWF (file://C:\...) 时出现错误 #2032。当我在线打开它(http://...)时,我收到错误 #2030。所以它可能与 Flash Sandbox 相关。
标签: actionscript-3 flash http error-handling urlloader