【问题标题】:How to connect to FTPS with Node.js? [closed]如何使用 Node.js 连接到 FTPS? [关闭]
【发布时间】:2012-06-11 20:23:20
【问题描述】:

如何使用 node.js 连接到 ftps 服务器(如果是 sftp,我也很高兴知道该怎么做)。我有一个我想连接的外部服务器,它需要 ftps 连接才能上传图片。

我找到了this npm package,但它似乎无法通过 SSL/TLS 处理 FTP。

【问题讨论】:

    标签: javascript node.js network-protocols ftps


    【解决方案1】:

    node-ftp 支持 FTPS 和 FTP。它非常流行,纯 JS 并且积极维护。

    或者您可以尝试ftps,它是lftp 的包装器,支持 FTP、FTPS 和 SFTP。

    【讨论】:

    • node-ftp 也支持 ftps 吗?
    • 是的,它的文档说它确实支持 FTPS。
    【解决方案2】:

    对于 SFTP,有这个模块:

    https://github.com/ajaxorg/node-sftp/tree/master/lib

    它本质上是一个子进程的包装器。自述文件中没有太多内容,但请查看选项的代码。

    【讨论】:

    • 我在尝试连接到 FTPS 服务器时不断收到以下错误。 TypeError: Object # 在 Sftp (/home/mike/node_modules/node-sftp) 的 afterInit (/home/mike/node_modules/node-sftp/lib/sftp.js:77:15) 没有方法“发射” /lib/sftp.js:73:9) 在 Object. (/home/mike/projects/bigcommerce-importer/ftpsTest.js:7:1)
    • 好吧,我想明白了,我需要将 ftps 实例化为一个对象才能工作。但是,它似乎不支持 Node > 0.4,因为 tty API 已更改 (github.com/ajaxorg/node-sftp/issues/1)。我会多阅读源代码,因为这似乎是一个好的开始。
    • 这可以通过使用不同的接口生成子进程来解决。请参阅:nodejs.org/api/child_process.html。 (他们有一个 ls 示例,与代码尝试执行的操作非常相似)。但是,我仍然无法在 unix 中使用 sftp 命令。不完全确定如何使用它登录到我的远程主机。所以还是不行。
    • 你设法让它工作了吗?根据您的建议,我用以下内容替换了错误的 Tty.open 调用,我可以很好地连接var ps = Child_process.spawn("sftp", args); ps.stdin.on('data', function(data){ console.log('ps.stdin.on', data.toString()); }); 我可以从连接到 46.x.x.x(来自 ps.stderr.on)的服务器获取输出,并更改为:/ home/user/tmp(来自 ps.stdout.on)但我不知道为什么我看不到我希望看到的“sftp>”行。
    • 所有这些都是为了 SFTP。他想要 FTPS,不是吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 2016-11-08
    相关资源
    最近更新 更多