Flash MX 2004中,可以用内置的XML类来实现访问WEB SERVICE从而取得数据。但从其开发文档中我们知道:当Flash文档发布服务器和WEB SERVICE服务器不在一台机器(Flash 7 or later)时,需要在WEB SERVICE服务器中设置跨域访问控制配置WWW页面--策略文件。方面就是在WEB SERVICE服务器的根站点生成一个XML文档供Flash访问,文档名应该是crossdomain.xml。
该策略文件内容大概如下
<?xml version="1.0"?>
<!-- [url]http://192.168.1.1/crossdomain.xml[/url] -->
<cross-domain-policy>
<allow-access-from domain="www.aaa.com" />
<allow-access-from domain="*.bbb.com" />
<allow-access-from domain="192.168.1.1" />
</cross-domain-policy>
上例表示允许来自 [url]www.aaa.com[/url], *.bbb.com, 192.168.1.1的Flash文档跨域访问本机数据(FTP,HTTP,HTTPS方式)。需要注意的是,该策略文件不兼容DNS解析,这说明同一个结点的DNS和IP必须分别在上述策略文件授权。通过加属性secure="false"
<!-- [url]http://192.168.1.1/crossdomain.xml[/url] -->
<cross-domain-policy>
<allow-access-from domain="www.aaa.com" />
<allow-access-from domain="*.bbb.com" />
<allow-access-from domain="192.168.1.1" />
</cross-domain-policy>
上例表示允许来自 [url]www.aaa.com[/url], *.bbb.com, 192.168.1.1的Flash文档跨域访问本机数据(FTP,HTTP,HTTPS方式)。需要注意的是,该策略文件不兼容DNS解析,这说明同一个结点的DNS和IP必须分别在上述策略文件授权。通过加属性secure="false"
(默认是true)到某个allow-access-from元素可以改变安全设置。
对于HTTP和HTTPS访问的区别,这里总结一个规则,即
1、当secure="false"设置后,Flash文档访问协议(发布URL协议)和数据访问协议(XML请求URL协议)可以是HTTP和HTTPS,即四种组合均能成功。
2、否则,Flash文档访问协议(发布URL协议)为HTTP和数据访问协议(XML请求URL协议)为HTTPS时不能成功返回数据。HTTPS返回内部安全错误。其余三种组合可以成功。
本文转自 dannyy1026 51CTO博客,原文链接:http://blog.51cto.com/dannyyuan/40282