拿这个例子加载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>
我希望能帮助你。
你执行了什么浏览器?我曾尝试使用HTTP_STATUS事件,从我所知道的情况来看,浏览器总是返回0状态。 – zretep 2014-12-04 17:16:25
@zretep我在很多浏览器中测试过它:firefox,chrome和opera,我认为0是'HTTPStatusEvent.status'的默认值所以可能是闪存没有加载任何东西作为安全问题,尝试添加一个'SecurityErrorEvent'监听器到你的'URLLoader'。 – akmozo 2014-12-04 17:32:46
@zretep Adobe在谈论0:“... HTTPStatusEvent对象不一定表示错误条件;它只是反映网络堆栈提供的HTTP状态代码(如果有的话)某些Flash Player环境可能无法检测HTTP状态码;在这些情况下总是报告状态码0。“ – akmozo 2014-12-04 17:39:59