FTP 开源客户端

在 C 语言中,除了 libcurl 之外,确实有一些更轻量级的开源库可以用来实现 FTP 文件上传功能。以下是一些值得考虑的选项:


1. ​libftp

  • 特点:专注于 FTP 协议的最小化实现,API 简洁。

  • 代码体积​:非常小(通常 < 50 KB)。

  • 功能:支持基础 FTP 操作(上传/下载/目录列表)。

  • 地址https://github.com/embeddedmz/libftp

  • 示例代码

    #include "libftp.h"
    int main() {
        ftp_session_t session;
        ftp_init(&session);
        if (ftp_connect(&session, "ftp.example.com", 21) &&
            ftp_login(&session, "user", "pass") &&
            ftp_upload(&session, "local.txt", "remote.txt")) {
            printf("Upload success!\n");
        }
        ftp_quit(&session);
        return 0;
    }
    

2. ​BFTP (Binary FTP Library)

  • 特点:轻量级、无外部依赖,适合嵌入式系统。
  • 协议支持:基础 FTP(不支持 FTPS)。
  • 地址https://github.com/lfree/bftp
  • 优势:编译后仅增加约 20-30 KB 二进制体积。

3. ​ftplib

  • 特点:老牌轻量库(1996 年诞生),稳定且文档清晰。

  • 功能:支持主动/被动模式、文件传输、目录操作。

  • 地址​:https://nbpfaus.net/~pfau/ftplib/

  • 示例

    #include "ftplib.h"
    int main() {
        netbuf *conn;
        FtpInit();
        if (FtpConnect("ftp.example.com", &conn) &&
            FtpLogin("user", "pass", conn) &&
            FtpPut("local.txt", "remote.txt", FTPLIB_IMAGE, conn)) {
            printf("File uploaded.\n");
        }
        FtpQuit(conn);
    }
    
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    90 引用 • 165 回帖
  • FTP
    21 引用 • 20 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    421 引用 • 3610 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...