【发布时间】:2019-12-11 10:33:16
【问题描述】:
我是 node.js 的新手。我想在被动模式下使用 node.js 连接ftps://ftp.XXX.XXX。连接成功后,我想将本地文件上传到连接的 ftps。
我下面的代码适用于 ftp,但显示 ftps://ftp.XXX.XXX 超时。
var Client = require('ssh2-sftp-client');
const config = {
host: 'XXX.XXXX.net',
username: 'XXXXX',
password: 'XXXXX',
port: 22
};
let status= await sftp.connect(config)
.then(() => {
console.log('filename===>'+filename);
console.log('fullpath===>'+fullpath);
sftp.fastPut(fullpath, '/path/to/remote/dir'+filename);
return 1;
}).catch(err => {
console.error(err.message);
return 0;
});
【问题讨论】:
-
您需要更具体地了解您的问题。你尝试了什么?预期的结果是什么?你能给我们看一些代码吗?请阅读how to ask a good question,然后编辑您的问题以改进它。谢谢!
-
感谢我添加了示例代码
-
似乎在 sftp 和 ftps 之间存在混淆(ftp over ssh 与 ftp over ssl)。这是两种不同的协议。
ssh2-sftp-client不能用于 ftps。看看this ftp client吧。 -
我必须将本地文件上传到 ftps 位置。它支持吗?他们只提供了上传(可读流,远程文件名);实际上我必须将 csv 文件从本地上传到服务器
-
是的,SFTP 和 FTPS 是完全不同的野兽。 SFTP 是在 SSH 中实现的与 FTP 无关的文件传输协议; FTPS 是原始的 FTP 协议,但包装在 TLS/SSL 中。