`
zhaohaolin
  • 浏览: 1012565 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Flex 跨域访问解决方案 [转]

 
阅读更多
想让swf 文件在一台服务器上运行并且能够访问另一台服务器上的资源,这时就会遇到跨域问题,请看下面的解决方案。

写一个名字为 crossdomain.xml 的XML文件,这个方法是允许任何Flash都可以调用,放到被调用文件的网站根目录下:
view plaincopy to clipboardprint?
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy 
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>


只让你允许的网站来调用你的数据.
view plaincopy to clipboardprint?
<?xml version="1.0"?>  
<!DOCTYPE cross-domain-policy 
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="www.yoursite.com" />
<allow-access-from domain="yoursite.com" />
<allow-access-from domain="*.k-zone.cn" />
</cross-domain-policy>
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="www.yoursite.com" />
<allow-access-from domain="yoursite.com" />
<allow-access-from domain="*.k-zone.cn" />
</cross-domain-policy>

如果使用XMLSocket要把端口号加上
view plaincopy to clipboardprint?
<cross-domain-policy>
<allow-access-from domain="*.foo.com" to-ports="507,516" />
<allow-access-from domain="*.bar.com" to-ports="516-523" />
<allow-access-from domain="www.foo.com" to-ports="507,516-523" />
<allow-access-from domain="202.117.80.202" to-ports="*" />
</cross-domain-policy>
<cross-domain-policy>
<allow-access-from domain="*.foo.com" to-ports="507,516" />
<allow-access-from domain="*.bar.com" to-ports="516-523" />
<allow-access-from domain="www.foo.com" to-ports="507,516-523" />
<allow-access-from domain="202.117.80.202" to-ports="*" />
</cross-domain-policy>


如果安全策略文件放在根目录,文件名字必须为crossdomain.xml,如果不放在根目录,
要用flash.system.security.loadPolicyFile("http://xcopy.net.cn/crossdomain.xml")
这样的方法加载安全策略文件。

http://localhost:8080/crossdomain.xml

如果以上还不能成功访问,请再住下看:
请注意代码中的:<param name="allowScriptAccess" value="always"/>
view plaincopy to clipboardprint?
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width=512px height=384px
      codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
      <param name="movie" value="http://www.xcopy.net.cn/test.swf" />
      <param name="quality" value="high" />
      <param name="allowScriptAccess" value="always"/>     
      <embed src="http://www.xcopy.net.cn/test.swf" quality="high" bgcolor="#869ca7"
        width=512px height=384px name="/test" align="middle"
        type="application/x-shockwave-flash"
        allowScriptAccess="always"
        pluginspage="http://www.adobe.com/go/getflashplayer">
      </embed>
</object>



注意:crossdomain.xml是放在服务器那边,而不是客户端这边.
如访问的数据来源为:192.168.0.2  监听端口:8080
访问端口:192.168.0.1  监听端口:8080   只用把crossdomain.xml放在192.168.0.2上就行,使得
http://192.168.0.2/crossdomain.xml可以访问到
分享到:
评论

相关推荐

    flex跨域访问问题

    CORS是一种现代的跨域访问解决方案,服务器可以通过设置特定的HTTP响应头`Access-Control-Allow-Origin`来允许特定的源进行跨域访问。在Flex中,你可以通过HTTPService或WebService组件配置`crossDomainPolicy`来...

    tomcat跨域解决方案

    ### Tomcat跨域解决方案 #### 一、背景与问题描述 在现代Web开发中,由于浏览器的安全策略限制,不同源之间的资源访问会受到限制,这种现象被称为“同源策略”(Same-Origin Policy)。同源策略是为了保护用户数据...

    weblogic跨域flex

    Flex跨域问题的解决方案主要涉及两个步骤: 1. **创建跨域策略文件**: 创建一个XML文件,例如`crossdomain.xml`,并将其放置在WebLogic服务器的根目录下。这个文件定义了哪些来源(domains)的请求被允许访问...

    flex项目整合 jsp,编译错误解决方案

    “flex编译问题,访问不了jsp解决方案.txt”这个文件可能包含了具体的错误信息和解决步骤,打开这个文件,按照其中的指导进行操作,通常可以解决大部分问题。记住,理解和掌握问题的根本原因才是关键,这样才能避免...

    Java和Flex交互常见问题及解决

    ### Java与Flex交互中的常见问题及其解决方案 在Java与Flex技术进行交互的过程中,经常会遇到一些典型的问题,这些问题可能涉及到安全性、数据传输格式以及字符编码等方面。本文将详细探讨以下几个方面: 1. **...

    Flex与java通讯

    跨域访问是Flex与Java通信时必须考虑的安全问题。Flex客户端需要获取服务器的cross-domain.xml文件,以允许跨域请求。服务器端需要设置相应的策略,确保只允许合法的Flex应用程序进行通信。 7. **Data Transfer ...

    flex PDF导出分页

    然而,原生的Flex SDK并不直接支持PDF导出,因此开发者需要寻找第三方库或自定义解决方案来实现这一功能。 在描述中提到的“安全沙箱问题”是Flash Player的安全限制之一。Flash Player的安全模型分为多个沙箱,以...

    Flex_API.zip_flex

    9. **访问控制和安全性**:如果涉及到网络通信,API还会涵盖安全策略文件和跨域访问控制,以确保应用的数据安全。 10. **调试和性能优化**:Flex提供了一些工具和技术来帮助开发者调试代码和优化应用性能,API文档...

    S2Flex2-1.1.0

    综上所述,S2Flex2-1.1.0是Seasar2框架与Flex集成的理想选择,它为开发者提供了一种高效、灵活的解决方案,促进了富客户端与服务器端的强大协作。通过深入理解和熟练掌握S2Flex2,开发者可以构建出功能强大且用户...

    将flex页面数据导出到excel

    需要注意的是,为了跨域安全,可能需要配置服务器端的CORS策略,允许Flex的请求访问。 在实际开发中,我们还需要考虑性能和数据量的问题。如果数据量非常大,一次性发送所有数据可能会导致网络延迟或服务器压力过大...

    flex安全机制详解

    Flash Player通过检查目标域下的安全策略文件来判断是否允许跨域访问。这些安全策略文件通常位于目标域的根目录下,名称为`crossdomain.xml`。 #### 三、Flash中的通信方式 在Flex中,主要通过两种方式实现通信: ...

    flex-iframe

    在IT行业中,`flex-iframe`是一个用于在Adobe Flex应用程序中嵌入HTML内容的解决方案。Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用(RIA)。`iframe`,即内联框架,是HTML中用于在单个...

    使用BlazeDS实现flex与java 整合

    四、常见问题与解决方案 1. **跨域问题**:由于Flash Player的安全限制,Flex客户端可能无法直接访问不同域的服务器。解决办法是配置服务器端的crossdomain.xml文件,允许特定域的访问。 2. **性能优化**:如果...

    flex的rpc错误整理

    本文主要针对Flex RPC错误进行了整理,特别是涉及到Flash Remoting、HTTP Service和Web Service的常见错误及其解决方案。 **一、Flex Remoting** 1. **Channel definition, mx.messaging.channels.RTMPChannel, ...

    Flex企业应用开发实战源代码

    3.2.5 域及跨域访问 99 3.3 Flex Module 101 3.3.1 创建模块 102 3.3.2 模块的编辑与编译 104 3.3.3 模块文件的加载 104 3.3.4 主应用和模块的交互 107 3.4 Flex库文件SWC 107 3.5 Flex编译模式、链接模式与...

    struts flex 结合使用

    Struts Flex结合使用是一种在Java Web开发中创建富互联网应用程序(RIA)的解决方案。Struts是Apache软件基金会下的一个开源MVC框架,主要用于构建企业级的Web应用,而Flex是Adobe开发的一种基于ActionScript的RIA...

    Pro Flex on Spring

    两者的结合能够提供从前端到后端的完整解决方案。 2. **增强开发效率**:通过将Spring与Flex集成,开发者可以利用Spring的强大功能来简化服务器端的开发工作,同时利用Flex的丰富组件库快速构建出美观且功能强大的...

    基于Flex的数据通信技术研究与应用.pdf

    通过HTTPService、WebService和RemoteObject,Flex提供了对不同数据量需求的解决方案,同时,AMF协议的使用确保了大容量数据传输的性能。Flex的这些特性使得开发者能够专注于应用的业务逻辑,而无需过多关心网络通信...

    javaflex沟通v0.02

    JavaFlex通信是一个重要的技术主题,尤其对于...实际的项目可能包含更具体的特性或定制解决方案,具体细节需要查看项目源码才能深入了解。对于希望学习或使用JavaFlex通信的开发者来说,理解上述知识点是至关重要的。

Global site tag (gtag.js) - Google Analytics