• 解决flash跨域读取XML的问题


    兩种方法解決:

    1.被调用数据端服务器使用策略文件。

    *策略文件 crossdomain.xml 内容如下:

    <?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>


    将策略文件放置在被调用数据端服务器的根目录下。
    domain="*" 为被允许连接的域(子域)。

    *如果策略文件为非默认目录(服务器根目录),动作脚本可以使用 System.security.loadPolicyFile 向 Flash Player 通知非默认的策略文件位置。例如:

    System.security.loadPolicyFile("http://foo.com/sub/dir/pf.xml");

    这会导致 Flash Player 从该指定的 URL 中检索策略文件。由这一位置的策略文件授予的权限将应用于该服务器的虚拟目录分层结构中同一层及以下各层中的所有内容。
    所以,续上例,以下几项成立:

    允许 loadVariables("http://foo.com/sub/dir/vars.txt")
    允许 loadVariables("http://foo.com/sub/dir/deep/vars2.txt")
    不允许 loadVariables("http://foo.com/elsewhere/vars3.txt")

    *一种新的语法允许直接从 XMLSocket 服务器中检索策略文件:

    System.security.loadPolicyFile("xmlsocket://foo.com:414");

    Flash Player 将会尝试从该指定的主机和端口中检索策略文件。可使用任何端口,而不仅限于 1024 及以上的端口。

    *由 XMLSocket 服务器提供的策略文件使用与其他任何策略文件都相同的语法,唯一不同之处是它还必须指定授予对哪些端口的访问权。当一个策略文件来自低于 1024 的某一端口时,它可以授予对任何端口的访问权;当一个策略文件来自 1024 或更高的端口时,它只能授予对 1024 及更高端口的访问权。允许的端口在 <allow-access-from> 标记中的“to-ports”属性中指定。允许单个的端口号、端口范围和通配符。下面是 XMLSocket 策略文件的示例:

    <cross-domain-policy>
    <allow-access-from domain="*" to-ports="507" />
    <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="www.bar.com" to-ports="*" />
    </cross-domain-policy>

    自旧的默认位置 — 端口 80 上的一个 HTTP 服务器上的 /crossdomain.xml - 获得的策略文件隐式授予对 1024 及以上所有端口的访问权。无法从 HTTP 服务器上的任何其他位置检索一个策略文件来对 XMLSocket 操作授权;XMLSocket 策略文件的任何自定义位置都必须在 XMLSocket 服务器上。

    因为连接到低于 1024 的端口的这一能力是新增的,所以对连接进行授权总需要用 loadPolicyFile 加载的一个策略文件,即使在影片连接到自己的子域时也是如此。

    2.Web脚本代理 (Server-side proxy method):
    *ColdFusion | PHP | ASP | JSP

    以上 脚本文件 必须和 Flash 放在同一个域的URL中才能正常使用。
    将 脚本文件 中的URL换成你自己的URL,然后在用 Flash 来调用。

    flash跨域訪問

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    嵌入式 VFS: Cannot open root device "mtdblock2" or unknown-block(2,0)
    嵌入式 hi3518x平台h264+g711a封装mp4代码demo
    嵌入式 十个最值得阅读学习的C开源项目代码
    嵌入式 arm平台ping域名指定ip小结
    嵌入式 busybox自带的tftp、telnet、ftp服务器
    嵌入式 hi3518平台检测网线是否插上
    嵌入式 hi3518平台获取网络环境中的ip、netmask、broadcast等信息
    jdbcUrl is required with driverClassName错误解决
    class path resource [processes/] cannot be resolved to URL because it does not exist
    SpringBoot2.0--- 多数据源配置
  • 原文地址:https://www.cnblogs.com/Athrun/p/1489502.html
Copyright © 2020-2023  润新知