从 ftp 连接中获取文件

Posted

技术标签:

【中文标题】从 ftp 连接中获取文件【英文标题】:getting files off ftp connection 【发布时间】:2011-03-29 06:48:44 【问题描述】:

我得到了一个项目,我需要编写一个在服务器上运行的程序。这个程序需要打开一个到另一个服务器的 ftp 连接,然后选择一个文件并将它放在给定的文件夹中。

我不知道从哪里开始,虽然我认为我需要某种套接字编程...谁能帮我从哪里开始?什么语言或wat?首选java的C++...

我不需要 GUI 只是一些可执行文件 所以shell脚本或命令行甚至桌面应用程序

【问题讨论】:

【参考方案1】:

使用 Java,我会从 Apache Commons FTPClient 开始。

使用 Python,我将从 ftplib 开始。

使用 C++,您可能会找到答案here on SO。

【讨论】:

【参考方案2】:

如果 Java 可用,ftp4j 可能是一个不错的选择。 http://www.sauronsoftware.it/projects/ftp4j/

【讨论】:

如果您使用 Java,我更喜欢这个。 ftp4j 支持通过 http 代理建立 ftp 连接,而 Apache Commons 不支持。【参考方案3】:

这应该对 Java 有所帮助:Apache commons net

【讨论】:

【参考方案4】:

您需要详细解释才能得到明确的答案

您希望在服务器上运行哪种应用程序(Web 应用程序、桌面应用程序——命令行或图形用户界面)?

虽然我不知道它是否适合你的问题,但我会推荐用于 C++ 的 Qt 框架,它有一个很好的 QFTP 类,查看它的示例

http://doc.qt.nokia.com/latest/network-qftp.html

注意 Qt 是一个重量级的框架

【讨论】:

不需要图形用户界面,但需要它来执行,所以没关系【参考方案5】:

获取文件是程序唯一做的事情吗?如果是这样,我根本不会编写程序,而是使用现有的程序。试试wgetcurl

【讨论】:

以上是关于从 ftp 连接中获取文件的主要内容,如果未能解决你的问题,请参考以下文章

FTP下载时连接正常获取不到数据

如何从 .NET 应用程序中的 FTP 协议获取目录文件大小

使用蓝牙FTP从已知设备获取文件

如何流式传输从 FTP 获取的文件而不将其存储在本地?

FTP:获取和删除特定数量的文件

ftp文件共享