我正在尝试使用AIR应用程序连接到SFTP服务器。它是一个AIR应用程序并不重要,除了我还没有找到任何库或AIR API方法。
我的第一个想法是找到另一种语言的库并在ActionScript中重写它。我宁愿不这样做,而我缺乏经验可能会带来安全问题。
我的第二个想法是从我的主应用程序调用本地进程或命令,例如sftp
或sshpass
或curl
,并将本地和远程上载位置传递给它并让它做的工作。这样做的缺点是,如果他们没有安装命令,他们必须安装一个单独的程序。
我的问题是:
我发现了两个相关的问题here和here,但有些问题在我脑海中。它们似乎也特定于* nux(它可能适用于Mac,但不适用于Windows)。
我没有这方面的经验,所以如果这是一个好主意,我会欢迎有经验的人给予指导。欢迎使用概述类型的答案,因为我可以尝试解决详细信息。如果没有给出答案,一旦我弄明白了,我就会发一个答案。请不要关闭此问题(而是建议编辑)。
仅供参考我使用AIR制作native process call。
扩展桌面配置文件中的AIR应用程序可以执行文件, 好像它是由命令行调用的。它可以与 本机进程的标准流。标准流包括 标准输入流(stdin),输出流(stdout),. 标准错误流(stderr)。
我还可以创建并调用scpt,sh或bat文件。
我的Mac上安装的命令:
我的Mac上未安装命令:
答案 0 :(得分:1)
默认情况下,这些SFTP命令在Mac和Windows上都可用吗?
没有。默认情况下,Windows上没有sftp
和ssh
,除非您通过cygwin安装它或将它们捆绑在您的应用程序中(也是解决方案)。
我应该存储用户登录(我不想)或提示他们每次输入吗?
首选提示。
SFTP /公钥是否不需要它?
是的,但您必须存储私钥,这与存储密码几乎相同。