上一篇
flash帮助的"外部 api 的 xml 格式
- 行业动态
- 2025-05-02
- 3444
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"/> |
典型应用场景
允许所有域访问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>
限制特定域访问
<cross-domain-policy> <allow-access-from domain="https://trusted.com"/> <grant-access> <resource path="/secure-api/" include-subpaths="false"/> </grant-access> </cross-domain-policy>
注意事项
- 文件位置:XML文件需放置在服务器根目录或API同级目录,并命名为
crossdomain.xml
。 - 大小写敏感:标签名和属性需严格区分大小写(如
<Domain>
会报错)。 - 端口限制:可通过
to-ports
属性限制访问端口(如to-ports="80,443"
)。 - 缓存策略:在
<site-control>
中设置permitted-cross-domain-policies
为master-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文件