通过 Java/Actionscript/JavaScript 抓取 URL?

Posted

技术标签:

【中文标题】通过 Java/Actionscript/JavaScript 抓取 URL?【英文标题】:Grab URL through Java/Actionscript/JavaScript? 【发布时间】: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 上搜索什么,因为(如您所见)我不太擅长表达我的问题。 【参考方案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 的运行位置。

以上是关于通过 Java/Actionscript/JavaScript 抓取 URL?的主要内容,如果未能解决你的问题,请参考以下文章

下拉框多选框单选框 通过TagHelper绑定数据

酶:测试孩子通过安装渲染失败,但通过浅时通过

java是通过值传递,也就是通过拷贝传递——通过方法操作不同类型的变量加深理解

通过代码进行 Spring 配置与通过注释进行配置

如何理解“不要通过共享内存来通信,而应该通过通信来共享内存”?

通过邮递员通过 API 使用 Rails 主动存储上传文件(.pdf、.jpg 等)? (不通过 Rails 视图)