gpt4 book ai didi

actionscript-3 - HTTP 状态代码 503 在 Flash 中引发错误 #2030

转载 作者:行者123 更新时间:2023-12-03 08:30:36 24 4
gpt4 key购买 nike

我正在尝试在 Flash 视频播放器中加载广告,然后下载 VAST 文件中链接的所有 1x1 印象 gif。一切正常,直到我点击这个文件:

link to bad file

此文件返回状态码 302(临时移动),带有指向 http://httpstat.us/503 的 Location header -- 一种非常奇怪的返回 503 错误的方式

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

http://httpstat.us/503 ,Content-Length 为 23 并且与返回文本的长度完全匹配(“503 Service Unavailable”),所以我不认为这是服务器响应的问题。

在我的 Flash 文件中,我将监听器绑定(bind)到 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?

最佳答案

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

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

  • 收到 503 错误,增加计数器
  • 收到 Uncaught Error ,检查计数器:
  • 如果错误 ID 为 2030 并且计数器 > 0,则递减计数器
  • 否则,抛出错误
  • 关于actionscript-3 - HTTP 状态代码 503 在 Flash 中引发错误 #2030,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25648630/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com