【发布时间】:2017-08-26 20:26:54
【问题描述】:
我在 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 是否与套接字有关。
【问题讨论】:
标签: actionscript-3 intellij-idea mamp flexunit