当前位置: 首页 > 知识库问答 >
问题:

如何在NodeJS中通过FTP下载文件?

屠浩
2023-03-14

我已经尝试了node-libcurl,wget,wget-improved,request。所有的失败都表明协议必须是HTTP或HTTPS。

Node有可用的FTP客户端(在npmjs上可用)。但是,根据他们的文档,他们需要创建一个到FTP服务器的连接,更改目录,然后下载它。

有什么简单的解决方法吗?

共有1个答案

林项明
2023-03-14

我将在这里概述一个简单的方法(没有完整的代码解决方案!)。FTP基于TCP,具有一个简单的人类可读的协议。为了从FTP服务器获取文件,您需要执行以下操作:

  1. 使用net.socket
  2. 创建TCP套接字
  3. 使用socket.connect连接到端口21上的FTP服务器
  4. 使用socket.write与服务器通信以发送数据,socket.on('data')读取数据

在这篇博文中提供了一个简单文件检索的FTPs协议示例,可以总结如下:

    null
 类似资料:
  • 我想实现一个SSIS作业,该作业能够下载位于远程Hadoop集群上的大型CSV文件。当然,在Hadoop系统上只有一个常规FTP服务器不会公开HDFS文件,因为它使用本地文件系统。 我想知道是否有一个FTP服务器实现位于HDFS之上。我更喜欢这种方法,而不是必须将文件从HDFS复制到本地FS,然后让FTP服务器提供服务,因为我需要分配更多的存储空间。

  • 问题内容: 似乎只能通过以下方式通过FTP上传文件: https://wiki.jenkins- ci.org/display/JENKINS/Publish+Over+FTP+Plugin 但是我需要通过FTP下载文件,为此我可以编写一个groovy插件,但是似乎没有这个插件 问题答案: 可能是因为在构建过程中使用单线下载文件很简单: 卷毛工具几乎可用于所有操作系统。 如果您只需要通过FTP下载

  • 问题内容: 我有以下代码,可以轻松连接到FTP服务器并打开一个zip文件。我想将该文件下载到本地系统。怎么做? 问题答案:

  • 问题内容: 我正在尝试使用命令行ftp客户端通过ftp文件夹,但是到目前为止,我只能使用’get’来获取单个文件。 问题答案: 您可以依靠通常可以正常处理ftp的wget(至少以我自己的经验)。例如: 您也可以使用适合镜像的。目前等同于。 如果凭据详细信息中包含一些特殊字符,则可以指定和参数以使其生效。具有特定字符的自定义登录的示例: 编辑 @asmaier指出,请注意,即使要进行递归,它的默认最

  • 本文向大家介绍如何通过表单下载文件?相关面试题,主要包含被问及如何通过表单下载文件?时的应答技巧和注意事项,需要的朋友参考一下 form 表单的action设置为接口地址,设置method为post/get : 根据需要传递的参数设置多个: 如果请求的接口不需要参数,建议设置一个input,否则可能会引起报错。 submit提交到后台

  • 问题内容: 我正在使用使用build.xml文件的ant。这是命令: Java版本:1.8.0蚂蚁版本:1.7.1 它挂在这里: 我收到连接超时错误: Ant还调用了从maven存储库中获取一些文件的方法,build.xml文件的一部分是这样的: 我将这些行放入build.xml文件中: 仍然与Maven进行蚂蚁连接,以通过http挂起获取一些jar文件。我这样做对吗?谢谢。 问题答案: 您正在混