首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flash中的HTTP状态代码503抛出错误#2030

Flash中的HTTP状态代码503抛出错误#2030
EN

Stack Overflow用户
提问于 2014-09-03 15:49:23
回答 1查看 576关注 0票数 0

我正在尝试在Flash视频播放器中加载广告,然后下载链接在这个大文件中的所有1x1印象gifs。在我找到这个文件之前,一切都很顺利:

链接到坏文件

此文件返回状态代码302 (临时移动),位置标头指向http://httpstat.us/503 --返回503错误的一种非常奇怪的方式。

当这种情况发生时,我在Flash中收到了一个错误#2030:“遇到了文件的结尾。”

查看http://httpstat.us/503,内容长度为23,与返回文本的长度完全匹配("503服务不可用“),因此我不认为这是服务器响应的问题。

在我的闪存文件中,我将侦听器绑定到SecurityError和IOError事件:

代码语言:javascript
复制
    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?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-01 13:33:34

在对此进行实验之后,我发现这是Flash中的一个bug --当您收到一个302时,Flash秘密地启动一个新的URLLoader来处理第二个请求,但是映射了所有的事件和函数调用。因为它是一个单独的对象,所以不会捕获抛出的任何错误。

我的解决方案是为503个错误添加一个全局的静态计数器,然后有一个不明确的错误处理程序。

  1. 接收503个错误,增加计数器
  2. 接收未明错误,请检查计数器:
    • 如果错误ID为2030,计数器> 0,则递减计数器
    • 否则,抛出错误

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25648630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档