代码之家  ›  专栏  ›  技术社区  ›  Aravindan R

flash.media.sound未发送HTTP请求头

  •  1
  • Aravindan R  · 技术社区  · 16 年前

    我使用的是flex 3(actionscript 3.0)。我使用HTTP渐进式下载来播放声音文件。我想保护声音文件,只在我的flex应用程序发出请求时提供。我选择了最简单的解决方案,向应用程序发送的每个请求添加一个HTTP头。但是flash.media.sound对象忽略flash.net.urlrequest中设置的头文件。举个例子,

    URLRequest sndFile = new URLRequest("http://blah.com/media/load_sound.php");
    sndFile.requestHeaders = new Array(new URLRequestHeader("req-orgin", "myflexapp"));
    Sound snd = new Sound(sndFile);
    snd.play();
    

    在load_sound.php中,req origin的值为空。当我使用firebug检查请求时,请求头将 http://blah.com/media/load_sound.php 不包含标题。

    有人知道为什么忽略标题吗?是否有其他方法可以确定请求来自我的flex应用程序?

    谢谢

    1 回复  |  直到 16 年前
        1
  •  1
  •   Tyler Egeto    16 年前

    由于安全原因,Flash播放器确实限制了头部支持。我相信定制的报头只支持POST请求。有各种各样的限制。

    您可以在此处查看其他信息: http://kb2.adobe.com/cps/403/kb403030.html

    在这里: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLRequestHeader.html

    但是,跨域策略文件应该可以解决任何问题,请查看以下内容:

    http://kb2.adobe.com/cps/403/kb403184.html

    祝你好运!(你可能需要它)

    推荐文章