问题标签 [custom-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
242 浏览

java - 用于替换 Applet 的 URL 处理程序

目前我的公司有一个小程序,它可以下载一个 JAR 文件来打开并收听所选文件(例如 .doc)中的更改。然后,这些更改将上传回我们的服务器。

小程序正在消亡,这对我们来说是一个大问题。我们考虑过(并且仍在考虑)替代它的方法。JWS、插件、Adobe Air、Native Messaging、Active X。考虑了很多东西(有些测试没有运气,比如 JWS)。但现在我们认为最好的解决方案可能是 URL 处理程序。

我们将有一个桌面应用程序,它可以拦截带有文件信息的 URL,下载它,然后监听更改。

我的问题是:我们是否朝着正确的方向前进?我害怕选择另一种“即将死亡”的技术。它可以用Java(很好)完成吗?我所有的实际代码(jar 文件)都在 Java 中,我的意图是保留它。

我们 99% 的客户使用 Windows,所以我们现在可以专注于此。

0 投票
1 回答
1328 浏览

protocols - 将 CSP(内容安全策略)与自定义协议一起使用

我有点紧张,正在开发一个基金经纪人网站。

作为我们安全策略的一部分,CSP在我们的服务器上实施,但现在,我们正在实施与斯堪的纳维亚银行 ( BankID ) 提供的桌面软件的通信。

这样就出现了一个问题:要打开 BankID 桌面软件,应该点击一个带有自定义协议的链接,如下所示:

我相信您明白,我在通过我们的 CSP 政策允许此链接时遇到严重问题。我的搜索没有产生任何结果,而且我的想法已经用完了。

我曾尝试在协议下允许通配符域,因此:

如果我关闭 CSP,它会完美运行,所以这绝对是问题所在。

有人对此有经验吗?任何帮助是极大的赞赏。


编辑

经过几个小时的搜索,我在Mozilla Wiki上找到了以下内容:

我们需要一种应用程序交付机制来保证应用程序的完整性和真实性,并允许明确定义的应用程序和权限范围强制执行,以便在运行时保持完整性。

并进一步:

特权和认证的应用程序将通过一个独特的方案 (app://) 访问。域将对应于应用程序 ID。

我不确定这是否适用,但如果我没看错,这意味着 Mozilla 正在考虑如何解决这个问题。

0 投票
1 回答
789 浏览

java - 使用反射替换 java.net.URL URLStreamHandlerFactory 是个好主意吗?

在 Java 中,我们至少可以通过两种方式注册自定义协议处理程序:

  1. 通过设置系统属性'java.protocol.handler.pkgs'
  2. 使用 URL.setURLStreamHandlerFactory

更多详情请查看http://accu.org/index.php/journals/1434

我不能选择第一个选项,因为我必须向服务器(tomcat)类路径添加很多 jar 文件,以使处理程序实现对引导类加载器可见。此外,还需要一些初始化,这必须在应用程序上下文中完成。

第二个选项的问题是Factory只能注册一次(检查java.net.URL#setURLStreamHandlerFactory),不幸的是它是由Tomcat完成的。

我能做的是创建一个装饰器工厂,它将通过我的协议处理程序扩展现有的。比使用 relfection 将静态字段 URL#factory 设置为 null 并使用 URL#setURLStreamHandlerFactory 以标准方式注册(再次?)我的“decoratorFactory”。我只是想知道在这里使用反射是否是个好主意......?治安怎么样?

我想做这样的事情:

0 投票
2 回答
1735 浏览

url - 通过href将参数传递给自定义协议的问题?

我创建了一个名为“myapp”的自定义协议,并尝试通过 href 标记将参数传递给它<a href="myapp://E:/file.txt">Click here</a>

myapp 协议如下所述:

单击锚链接时,它会引发错误,因为“文件名、目录名或卷标语法不正确”。

我猜通过<a href="myapp:E:/file.txt">标签传递的参数没有被识别。

我不知道如何在这里转义斜杠(/)或任何特殊字符。

请帮我解决这个问题,或者让我知道我是否做错了。

0 投票
1 回答
55 浏览

java - 在哪里托管没有底层框架的 java 服务器?

我用一个非常基本的服务器制作了一个小的 java 应用程序。它只是几个类,并且在相当低的级别上工作,使用 main 和手动打开套接字。它还使用一个非常简单的自定义协议。

它在 localhost 上运行良好,我已准备好将其部署到服务器上,这样我就可以从 LAN 以外的位置开始使用该应用程序。

但是,我找不到任何地方来托管这该死的东西。理想情况下,我想找到一个可以上传可执行 jar 的服务,打开我想要打开的任何端口,然后运行可执行文件。当我改进服务器时,理想的服务还可以让我轻松上传新版本的 jar。它不一定是免费的,但这个应用程序最多有大约 4 个并发用户,所以我不关心可伸缩性,也不想为托管支付过高的价格。大概每月10美元就可以了。

我研究过 Heroku 和其他一些服务,但都要求您使用 Maven、J2EE、JSP 等。我没有使用任何这些,只是好的旧的 public static void main(String[] args)。

是否值得我花时间调整我的应用程序以适应其中一个?这会因为我想使用自定义协议而变得复杂吗?

0 投票
0 回答
237 浏览

javascript - 使用 Web 浏览器在客户端读取文件内容

我在我的每台客户计算机上都安装了一个软件,该软件定义了新协议,当我的客户从浏览器调用协议时,该软件将在该计算机上运行并执行一些文件传输操作。

例如,如果客户端LPL://-s 109.107.108.7 -f c:\tmp\file.big在浏览器中发出该软件将运行并传输file.big到服务器。

现在我在客户端定位完整文件路径时遇到问题,我知道现代浏览器出于安全原因阻止获取完整路径,但是我需要使用 web 读取客户端的文件内容。

有没有办法解决这个问题

0 投票
1 回答
619 浏览

javascript - 在 FireFox 浏览器中打开自定义协议..!

我创建了一个自定义协议myapp:,就像使用 JavaScript 在客户端mailto:打开一个exe一样。因此,每当我调用那里的 JavaScript 时,都会打开一个对话框,要求选择我想要打开的应用程序。我只是想设置它在代码中打开的默认应用程序并且不打开该对话框。我知道我可以在 Mozilla 浏览器的设置中手动从总是要求更改为设置默认值,但我希望通过代码进行设置。这样用户就不必做任何事情。可能吗?如果是,请指导我如何实现这一目标。

0 投票
1 回答
172 浏览

javascript - 检查浏览器是否支持使用 JavaScript 的自定义协议?

我有一个需要安装在 Windows 机器上的应用程序,它使用像“myapp://”这样的自定义协议。所以我在网页上有一个按钮,点击它会打开该应用程序。当我点击按钮时,我需要检查浏览器是否支持该协议,如果是,打开应用程序,如果不是,显示错误。互联网上有几个黑客可用,我尝试了一些,但似乎没有用。我想以更清洁的方式做到这一点。有人可以帮忙吗?

0 投票
2 回答
130 浏览

swift - 没有完全理解自定义协议的概念,Swift 3

我提前为提出这样一个愚蠢的问题道歉,但我并没有从其他答案中得到我想知道的东西。这是来自 Ray Wenderlich iOS 课程的自定义委托协议的示例代码

尽管协议的定义很明确,但它是一种必须遵守才能使用的合同。但这里是协议的功能在符合类的主体中的实现

并且没有实际使用控制器参数,didFinishAdding 是什么?据我了解, didFinishAdding 只是内部参数item的外部名称。但是它是如何工作的,如何从名为AddItemViewController的控制器将ChecklistItem发送给符合要求的委托的协议主体中理解它,或者它是某种预定义的函数类型?

0 投票
1 回答
90 浏览

redirect - 应用程序注册只允许 http(s) 作为重定向 URI

我想构建一个桌面应用程序,并且需要重定向 URI 类似于my-app://soundcloud/callback. 在应用程序注册表中,无法在输入字段中输入此类重定向 URI,因为只允许使用httphttps协议。如何以及在哪里可以将重定向设置为my-app://soundcloud/callback