当前位置:首页 > 行业动态 > 正文

flash帮助的"外部 api 的 xml 格式

Flash外部API的XML格式通常以为根节点,包含子节点,内含

外部API的XML格式解析

基本结构

外部API的XML文件用于定义Flash应用程序访问外部资源(如Web服务、远程数据)时的权限和配置,其核心结构遵循标准XML语法,包含以下关键部分:

<cross-domain-policy>
    <site-control>
        <!-全局策略设置 -->
    </site-control>
    <allow-access-from>
        <domain uri=""/>
        <!-或指定具体域名 -->
    </allow-access-from>
    <grant-access>
        <resource path="/api/" include-subpaths="true"/>
        <!-允许访问的资源路径 -->
    </grant-access>
</cross-domain-policy>

核心节点与属性说明

节点名称 功能描述 必选 示例值
<cross-domain-policy> 根节点,声明跨域策略文件
<site-control> 全局控制设置(如文件匹配规则、缓存策略) <site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from> 定义允许访问的源域名 <domain uri=""/>
<domain> 子节点,指定单个域名或通配符(表示所有域) <domain uri="https://example.com"/>
<grant-access> 定义允许访问的资源路径 <resource path="/api/" include-subpaths="true"/>
<resource> 子节点,描述具体资源路径及是否包含子路径 <resource path="/data" include-subpaths="false"/>

典型应用场景

  1. 允许所有域访问API

    <cross-domain-policy>
        <allow-access-from domain="" to-ports="80,443"/>
        <grant-access>
            <resource path="/external-api/" include-subpaths="true"/>
        </grant-access>
    </cross-domain-policy>
  2. 限制特定域访问

    <cross-domain-policy>
        <allow-access-from domain="https://trusted.com"/>
        <grant-access>
            <resource path="/secure-api/" include-subpaths="false"/>
        </grant-access>
    </cross-domain-policy>

注意事项

  1. 文件位置:XML文件需放置在服务器根目录或API同级目录,并命名为crossdomain.xml
  2. 大小写敏感:标签名和属性需严格区分大小写(如<Domain>会报错)。
  3. 端口限制:可通过to-ports属性限制访问端口(如to-ports="80,443")。
  4. 缓存策略:在<site-control>中设置permitted-cross-domain-policiesmaster-only可防止文件被覆盖。

相关问题与解答

问题1:如何允许多个域名访问同一API?

解答:在<allow-access-from>节点内添加多个<domain>子节点,

<allow-access-from>
    <domain uri="https://site1.com"/>
    <domain uri="https://site2.com"/>
</allow-access-from>

问题2:XML文件中路径写成相对路径是否有效?

解答:无效,路径必须基于服务器根目录,且需使用绝对路径(如/api/),若API位于子目录,需调整path属性或移动XML文件

0