【问题标题】:Grab URL through Java/Actionscript/JavaScript?通过 Java/Actionscript/JavaScript 抓取 URL?
【发布时间】:2016-11-18 15:58:52
【问题描述】:

这就是我想要做的。

我有一个 ActionScript 3.0/Java 桥,基本上 SWF(前端)通过 RTMP 向 Java 发送命令,Java 处理它。

我想要做的是一个 URL 检查,以检查向 Java 发送命令的 SWF 是否在特定 URL 上运行,如果 URL 与我在 if 语句中输入的内容不匹配,那么该函数将不会t 继续。

我该怎么做?

【问题讨论】:

  • 请提供您尝试过的代码,以便我们更好地为您提供帮助。
  • 老实说,我没有尝试过任何事情,哈哈,我不知道从哪里开始,只需要一个好主意来整合该系统
  • 您可以尝试在谷歌上搜索有关此主题的文章。否则,它需要来自各种研究的小论文。使用逻辑,Java 无法检查 SWF 位置,因为它只能看到 RTMP 服务器。因此,您要么研究 RTMP 服务器是否可能检测传入数据的位置/IP,要么让 SWF 本身在连接到 RTMP 服务器之前进行检查。为此,您可以在String 对象上使用stage.loaderInfo.url;,然后检查更新后的字符串是否包含示例“www.allowedsite.com”,如果为真,则进行连接...
  • 嗨@VC.One 首先我要感谢您实际提供帮助,而不仅仅是不喜欢这个。
  • 第二,是的,当然,Java 看不到 URL,所以我想将 JavaScript 连接到 Java,认为这样可行吗?我想要它,所以它会获取加载 SWF 的用户的 URL,而不仅仅是它托管的 URL(JavaScript)。或者使用 SWF 检查 URL 并将其发送到 Java,因为我已经设置了桥接器,我真的不需要这里的代码,只需要概念。而且我不知道在 Google 上搜索什么,因为(如您所见)我不太擅长表达我的问题。

标签: javascript java actionscript-3 flash actionscript


【解决方案1】:

如果您在加载的 SWF 中工作,您可以使用 loaderInfo:

trace(this.loaderInfo.url);

如果没有,你可以检查外部接口(如果你的 SWF 嵌入在 HTML 中)

if (ExternalInterface.available == true){
    if (ExternalInterface.call('document.location.href.toString') != null){
        trace(  ExternalInterface.call('document.location.href.toString')); 
    }
}

【讨论】:

  • 我结合使用 loaderInfo、部分 Capabilities 对象和出站用户代理/引荐来源网址来验证 swf 的运行位置。
猜你喜欢
  • 2022-07-13
  • 1970-01-01
  • 1970-01-01
  • 2016-10-25
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
  • 2021-06-04
  • 2023-02-03
相关资源
最近更新 更多