【问题标题】:Example node.js ftp server?示例 node.js ftp 服务器?
【发布时间】:2021-05-23 04:39:11
【问题描述】:

我需要创建一个 node.js 应用程序连接到这个 ftp 服务器并从这个目录下载文件:

ftp://www.ngs.noaa.gov/cors/rinex/2021/143/nynb

我已尝试遵循 ftp npm 包文档,但我觉得我做错了什么:

import Client from "ftp";

/**
 * https://github.com/mscdex/node-ftp
 */

const c = new Client();

c.on("ready", function () {
    c.get(
        "ftp://www.ngs.noaa.gov/cors/rinex/2021/143/nynb",
        (error, stream) => {
            if (error) throw error;
            console.log(`stream`, stream);
            stream.once("close", function () {
                c.end();
            });
        }
    );
});

// connect to localhost:21 as anonymous
c.connect();

当我运行 npm run devnodemon 时,我得到:

Error: connect ECONNREFUSED 127.0.0.1:21
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)
[nodemon] app crashed - waiting for file changes before starting...

有人可以帮忙吗?我完全被难住了。

如果有人可以向我展示一个如何连接到这个远程 ftp 服务器的小例子,是否有可能?

【问题讨论】:

标签: javascript node.js typescript ftp


【解决方案1】:

有几点:

  • 您正在使用c.connect(); 连接到本地ftp。您需要连接到www.ngs.noaa.gov 才能从那里下载文件。
  • 此路径cors/rinex/2021/143/nynb 是远程主机上的目录。 c.get 不行,你需要列出目录下的所有文件,然后一个一个地下载。

下面的代码连接远程服务器并列出目录中的所有文件

const Client = require('ftp');
const fs = require("fs");
const c = new Client();

c.on('ready', function () {
    c.list( "/cors/rinex/2021/143/nynb", function (err, list) {
        if (err) throw err;
        console.dir(list);
    });
});

c.connect({
    host: "www.ngs.noaa.gov",
});

【讨论】:

    猜你喜欢
    • 2011-01-30
    • 2021-03-02
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 2013-03-31
    相关资源
    最近更新 更多