【发布时间】:2017-04-11 12:10:39
【问题描述】:
我正在用 node js 编写一个简单的应用程序,我遇到了这个问题:
Error: connect ECONNREFUSED 127.0.0.1:21
at Object.exports._errnoException (util.js:1034:11)
at exports._exceptionWithHostPort (util.js:1057:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1099:14)
这是脚本:
var Client = require('ftp');
var fs = require('fs');
var c = new Client();
c.on('ready', function() {
c.get('/foo/foo1.txt', function(err, stream) {
if (err) throw err;
stream.once('close', function() { c.end(); });
stream.pipe(fs.createWriteStream('foo.local-copy.txt'));
});
});
c.connect('MYIP',21,false,'none','user','password',10000,10000,10000);
c.end();
怎么了?
【问题讨论】:
-
你有 FTP 服务器监听 21 端口吗?您是否在此服务器中为此凭据设置了适当的权限?
-
没有必要为不安全的 FTP 协议打开端口 21,而且这样做实际上是个坏主意,因为所有数据都是通过 FTP 未加密传输的。 macOS 内置了 SSH 支持,它使用端口 22,可以在系统偏好设置 > 共享 > 远程登录中打开。启用此服务后,任何现代 FTP 客户端都可以使用更安全的 SFTP 协议连接到端口 22。
标签: javascript node.js ftp