无法在Actionscript 3中加载html文件

时间:2013-08-05 15:19:03

标签: actionscript-3 actionscript shoutcast

所以我已经尝试了几乎所有我能想到的方法,并且在离线模式下测试时获得404状态,或者在线测试时获得安全沙箱错误。我正在尝试使用7.html从shoutcast页面获取数据,以便快速访问统计数据。 我正在测试的页面是http://37.58.52.41/7.html

注意:我已尝试使用netstream方法获取shoutcast数据,但也没有成功。

2 个答案:

答案 0 :(得分:0)

以下代码可能会有用:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
    <mx:Script>
        <![CDATA[
            private function init():void{
                var loader:URLLoader = new URLLoader();
                loader.addEventListener(Event.COMPLETE, urlloaderCallback);
                var header:URLRequestHeader = new URLRequestHeader("pragma", "no-cache");
                var request:URLRequest = new URLRequest("http://37.58.52.41/7.html");
                request.requestHeaders.push(header);
                loader.load(request); 
            }
            public function urlloaderCallback(event:Event):void{
                //<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>531,1,893,1000,528,192,We aRe oNe</body></html>
                var get:String = event.currentTarget.data;
            }
        ]]>
    </mx:Script>
</mx:Application> 

此代码运行正常,请查看public function urlloaderCallback下方的评论,URLLOAD调用返回的HTML。

答案 1 :(得分:0)

正如@Aralicia指出的那样,服务器上需要一个crossdomain policy,允许Flash从中提取信息。

  

跨域策略文件是一种XML文档,它授予Web客户端(例如Adobe Flash Player或Adobe Acrobat(但不一定限于这些))跨域处理数据的权限。当客户端请求托管在特定源域上的内容并且该内容将请求定向到其自身以外的域时,远程域需要托管允许访问源域的跨域策略文件,从而允许客户端继续事务。