是否有可能绕过使用Flex构建Adobe AIR应用程序跨domain.xml中要求?(Is it

2019-11-03 11:28发布

是否有可能为Adobe AIR应用程序连接到Web服务删除不露出剖面,domain.xml文件? 如果是这样,你如何配置空气中的安全沙箱允许这样做?

我已尝试的套接字连接并收到以下错误:

securityErrorHandler: 
[SecurityErrorEvent 
    type="securityError" 
    bubbles=false 
    cancelable=false 
    eventPhase=2 
    text="Error #2048: Security sandbox violation: app:/MyApp.swf cannot 
            load data from gmail.com:5222." errorID=0
]

Answer 1:

AIR应用程序没有在浏览器中相同的域策略如Flash播放器。 所以你通常不需要与AIR应用程序跨域策略文件。 然而有时AIR将引发SecurityErrorEvent的,可以忽略。 下面是一个例子:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml">

  <mx:applicationComplete>
    <![CDATA[
      var s:Socket = new Socket();
      s.addEventListener(ProgressEvent.SOCKET_DATA, function(event:ProgressEvent):void {
        t.text += event.target.readUTFBytes(event.target.bytesAvailable);
      });
      s.addEventListener(Event.CONNECT, function(event:Event):void {
        t.text += "Event.CONNECT\n\n";
        s.writeUTF("GET / HTTP/1.0\n\n");
      });
      s.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(event:SecurityErrorEvent):void {
        trace('security sandbox error ignored');
      });
      s.connect("www.jamesward.com", 80);
    ]]>
  </mx:applicationComplete>

  <mx:TextArea id="t" width="100%" height="100%"/>

</mx:WindowedApplication>


文章来源: Is it possible to bypass the cross-domain.xml requirement for an Adobe AIR application built with Flex?