我正在尝试在Flash视频播放器中加载广告,然后下载链接在这个大文件中的所有1x1印象gifs。在我找到这个文件之前,一切都很顺利:
链接到坏文件
此文件返回状态代码302 (临时移动),位置标头指向http://httpstat.us/503 --返回503错误的一种非常奇怪的方式。
当这种情况发生时,我在Flash中收到了一个错误#2030:“遇到了文件的结尾。”
查看http://httpstat.us/503,内容长度为23,与返回文本的长度完全匹配("503服务不可用“),因此我不认为这是服务器响应的问题。
在我的闪存文件中,我将侦听器绑定到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?
发布于 2014-10-01 13:33:34
在对此进行实验之后,我发现这是Flash中的一个bug --当您收到一个302时,Flash秘密地启动一个新的URLLoader来处理第二个请求,但是映射了所有的事件和函数调用。因为它是一个单独的对象,所以不会捕获抛出的任何错误。
我的解决方案是为503个错误添加一个全局的静态计数器,然后有一个不明确的错误处理程序。
https://stackoverflow.com/questions/25648630
复制相似问题