ftps模块连接但挂断

时间:2014-04-28 15:18:19

标签: javascript node.js ftp ftps

我正在使用ftps模块,并且我已经在Cygwin上安装了lftp。我遇到了麻烦,因为我的节点js app看起来很好,但我的命令都没有运行。该模块的文档不是非常详细,所以我一直在尝试尽我所能来运行。我想从ftp网站上获取文件。

这是我的代码:

var ftps = require('ftps');

// ftps connection
var ftp = new ftps ({
    host: 'test.ftpsite.com',
    username: 'test',
    password: 'test',
    protocol: 'sftp'
});

// look at remote directory
console.log(ftp);
ftp.cd('TestDir/').get('/UploadTest.txt', '/cygdrive/c/Users/Administrator/UploadTest.txt').exec(console.log);

输出:

CMO-Application-Server>node app.js
{ options:
   { host: 'test.ftpsite.com',
     username: 'test',
     password: 'test' },
  cmds: [] }

在输出的这一点上,应用程序只是挂起来试图运行命令。我现在已经让它运行了大约10分钟但仍然没有。

1 个答案:

答案 0 :(得分:1)

对于sftp,您可以使用ssh2模块执行此操作:

var Connection = require('ssh2');

var ssh = new Connection();
ssh.on('ready', function() {
  ssh.sftp(function(err, sftp) {
    if (err) throw err;
    sftp.fastGet('TestDir/UploadTest.txt',
                 '/cygdrive/c/Users/Administrator/UploadTest.txt',
                 function(err) {
      if (err) throw err;
      ssh.end();
    });
  });
}).connect({
  host: 'test.ftpsite.com',
  port: 22,
  username: 'test',
  password: 'test'
});