例如 node.js ftp 服务器?
Example node.js ftp server?
我需要创建一个 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 dev
和 nodemon
我得到:
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 服务器的小示例?
有几点:
- 您正在使用
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",
});
我需要创建一个 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 dev
和 nodemon
我得到:
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 服务器的小示例?
有几点:
- 您正在使用
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",
});