【问题标题】:Can't reach php file hosted on MAMP in Flexunit tests in IntelliJ在 IntelliJ 的 Flexunit 测试中无法访问托管在 MAMP 上的 php 文件
【发布时间】:2017-08-26 20:26:54
【问题描述】:

我在 MAMP 中运行一个主机,可以通过 http://localhost:8888https://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


    【解决方案1】:

    这是一个安全问题,您不能在您的计算机上使用 crossdomain.xml 允许网站访问 swf。您必须在您的计算机上手动指定受信任的 SWF 或目录。

    • 右键单击 Flash 播放器并转到全局设置。
    • 打开全局安全设置面板
    • 点击编辑位置和添加文件或文件夹。

    您可以通过屏幕截图查看此site 信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 2013-07-18
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多