是否可以在AS3中查看从SWF下载的crossdomain.xml?

时间:2014-12-04 14:43:33

标签: xml actionscript-3 flash actionscript

尝试从SWF下载远程资源时,它首先下载并检查位于Web服务器根目录的 crossdomain.xml 文件(或{{1}中指定的位置) })。我想从SWF中访问下载的 crossdomain.xml 文件。该文件存储在何处,是否可以从SWF中访问?

我使用它作为可访问性机制:如果下载了 crossdomain.xml 文件,那么Web服务器(我知道它将托管 crossdomain.xml file)是可以访问的。此网络服务器可能不允许来自loadpolicyfile()'在其策略文件中,阻止我只是在服务器上的其他位置请求文件以确定可达性。

谢谢!

1 个答案:

答案 0 :(得分:1)

以此示例加载crossdomain.xml并验证服务器的可访问性:

var request:URLRequest = new URLRequest('http://www.fb.com/crossdomain.xml')

var loader:URLLoader = new URLLoader(request)
    loader.addEventListener(
        Event.COMPLETE, 
        function(e):void { 
            trace('crossdomain file content : ')
            trace(loader.data)
        }
    )
    loader.addEventListener(
        HTTPStatusEvent.HTTP_STATUS, 
        function(e):void {
            //trace('http status: ' + e.status)
            if(e.status == 200){
                trace('this web server is reachable')
            }
        }
    )
    loader.addEventListener(IOErrorEvent.IO_ERROR, function(e){})
    loader.load(request)

fb.com示例:

this web server is reachable
crossdomain file content : 
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="master-only" />
    <allow-access-from domain="s-static.facebook.com" />
    <allow-access-from domain="static.facebook.com" />
    <allow-access-from domain="*.static.ak.facebook.com" />
    <allow-access-from domain="*.static.ak.fbcdn.com" />
    <allow-access-from domain="s-static.ak.fbcdn.net" />
    <allow-access-from domain="*.static.ak.fbcdn.net" />
    <allow-access-from domain="s-static.ak.facebook.com" />
    <allow-access-from domain="www.facebook.com" />
    <allow-access-from domain="secure.facebook.com" />
    <allow-access-from domain="static.ak.fbcdn.net" />
    <allow-access-from domain="www.latest.facebook.com" />
    <allow-access-from domain="www.inyour.facebook.com" />
    <allow-access-from domain="www.beta.facebook.com" />
    <allow-access-from domain="m-static.ak.fbcdn.net" />
    <allow-access-from domain="fbstatic-a.akamaihd.net" />
    <allow-access-from domain="static.xx.fbcdn.net" />
    <allow-access-from domain="z-m-static.xx.fbcdn.net" />
    <allow-access-from domain="z-1-static.xx.fbcdn.net" />
</cross-domain-policy>

我希望能帮助你。