我有一个Web服务器应用程序(基于python)。位于该服务器上的Flash应用程序应连接到该服务器。问题出在crossdomain.xml中。
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>
这是此文件(位于根目录中)。
确切的问题是Flash应用程序不会加载该文件。有什么方法可以手动执行此操作吗?例如,直接从flash-script加载它,或者在给定的端口上创建一个新应用程序,它将把该文件发送到任何连接的套接字。
最佳答案
您没有用<cross-domain-policy>
关闭</cross-domain-policy>
标记-您刚刚忘记复制/粘贴最后一行吗?否则尝试一下。您也可能不需要DOCTYPE
行和to-ports="*"
。
我们使用这个crossdomain.xml文件,只要它在根文件夹中,就对我们来说每次工作都很好
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
如果它是一个https域,并且您想在非https域上访问Flash,则需要将
allow-access-from
行更改为此<allow-access-from domain="*" secure="false" />
最后一件值得尝试的事情是添加以下行:
<allow-http-request-headers-from domain="*" headers="*"/>
但是我们从来不需要通过http来进行标准的Flash加载/保存。
关于flash - 跨域XML和Flash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2653398/