有没有办法强制 Socket 通过 HTTP 加载跨域策略?

Posted

技术标签:

【中文标题】有没有办法强制 Socket 通过 HTTP 加载跨域策略?【英文标题】:Is there a way to force Socket to load cross-domain policies via HTTP? 【发布时间】:2013-04-04 16:05:38 【问题描述】:

连接到远程服务器时,Socket 尝试通过将"<policy-file-request/>\0" 发送到端口 843,然后再发送到目标端口来加载跨域策略。但是,我正在使用的一些服务器的跨域策略仅位于 /crossdomain.xml 通过 HTTP 端口 80 提供服务。

我知道 URLLoader 将使用 HTTP 跨域策略,但它不太适合我的需要。

【问题讨论】:

help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/… 但是,我怀疑您必须通过您尝试访问的同一端口提供 crossdomain.xml 文件。 @www.Flextras.com 您应该将其发布为答案!我正要自己做,但是当我查找 loadPolicyFile() 方法的 url 时,你打败了我:) 我试过了——它不授权 Socket 连接。当连接到授权进行 HTTP 连接的同一台服务器时,它仍会尝试从端口 843 加载策略,如果无法连接则拒绝连接。 【参考方案1】:

看起来答案是否定的。来自Adobe:

说明:通过 HTTP 提供的策略文件可能不再用于授权与该服务器的套接字连接。相反,必须通过套接字策略文件授权连接。套接字策略文件是一个套接字连接,用于向 Flash Player 发送包含该策略的 XML。

【讨论】:

以上是关于有没有办法强制 Socket 通过 HTTP 加载跨域策略?的主要内容,如果未能解决你的问题,请参考以下文章

强制 Tomcat 通过 http 使用安全的 JSESSIONID cookie

使用 Chrome 或 Safari 强制 HTTP/2

有没有办法强制转换结构以通过通道发送

强制 iframe 作为最后一个元素加载

有没有办法通过 tslint 规则在 Typescript 类上强制执行方法返回类型?

如何使用 IGListKit 强制重新加载所有部分?