Flash中XML跨域访问数据的规则

摘自:http://dannyyuan.blog.51cto.com/212520/40282

 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"?>
<!-- http://192.168.1.1/crossdomain.xml -->
<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>
上例表示允许来自www.aaa.com, *.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返回内部安全错误。其余三种组合可以成功。

 

你可能感兴趣的:(Flash)