我在 MAMP 中运行主机,可通过http://localhost:8888和https://myapp.co.uk:8890访问
我的问题是我的 flexunit 测试无法访问在该主机上运行的 php 脚本。
根目录是 crossdomain.xml 文件:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies='all'/>
<allow-access-from domain='*' to-ports='*'/>
<allow-access-from domain="localhost" to-ports="*"/>
</cross-domain-policy>
可以通过浏览器中的任一主机读取 crossdomain.xml 文件。
我正在尝试访问一个 php 脚本,我可以再次通过浏览器中的任一主机访问它。
如果我将构建配置设置为默认值,我会得到一个直接的 IOError。如果我将构建配置设置为使用-use-network=true
,我会得到:
Warning: Failed to load policy file from https://myapp.co.uk:8890/crossdomain.xml
其次是安全沙盒违规:
connection to https://myapp.co.uk:8890/path/to/script.php halted -
not permitted from file:///Users/me/path/to/output/_flexunit.swf
不管我是让 crossdomain.xml 文件自动加载,还是使用显式加载它Security.loadPolicyFile(...)
我正在通过 IntelliJ IDEA 中的 flexunit 任务运行我的 flexunit 测试。
有什么建议么?我难住了。
另外:应用程序的swf能够访问MAMP文件没有问题,只是flexunit测试无法访问。我想知道将测试结果返回到 IntelliJ IDEA 是否可能与套接字有关。