`
happmaoo
  • 浏览: 4335210 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

C语言+API操作FTP下载文件

阅读更多

工作中需要用到程序更新,从FTP上下载文件是比较方便的。写个日志总结一下昨天的学习情况:

句柄的定义

HINTERNET hConnect ;

连接FTP操作,需要定义一个HINTERNET句柄。使用InternetOpen函数进行初始化句柄。

创建FTP会话

使用InternetConnect函数,连接到FTP,要用到InternetOpen函数初始过的句柄。

设置当前FTP的目录

FtpSetCurrentDirctory函数,传入地址,支持多级子目录,可以使用"/soft/tool/"这样的多级目录。

下载文件

FtpGetFile 函数,可以直接下载,或者使用FtpOpenFile打开文件,然后使用InternetReadFile读入缓冲区

遍历文件

使用2个函数来操作,FtpFindFirstFile调用一次,然后调用InternetFindNextFile进行循环,只到返回FALSE,表示没有文件了。

遍历的时候,要注意的问题是,一个FTP 会话句柄,如hSesseion进行过一次遍历后,要调用closehandle关闭,否则继续进行遍历时会出错。

知道这一要点后,要进行递归遍历文件夹中的所有文件总数,问题就变得简单了。

总结,FTP的API函数操作还容易弄懂的,做了一个小小的程序更新软件,方便自己的工作 。

分享到:
评论

相关推荐

    C语言使用win32API调用命令行命令进行FTP上传下载

    C语言使用win32API调用命令行命令进行FTP上传下载。 适用于实验室数据文件的云同步。

    curl-7.72.0

    ibcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...

    curl-7.40.0.zip

    Libcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...

    vs2015编译的64位curl库,版本是7.88.1,支持https协议

    libcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...

    curl-7.66.0.zip

    libcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...

    libcurl windows版本

    ibcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...

    MyFll Microsoft Visual FoxPro设计的扩展库

    FtpDownFile 从FTP服务器下载文件 FtpUploadFile 向FTP服务器上传文件 FtpConnect 连接FTP服务器 FtpDisconnect 断开FTP服务器连接 FtpAFile 枚举Ftp中的所有文件 FtpCreateDir 在FTP服务器上创建一个...

    指纹识别算法练习,基于FVC2004数据库,Qt平台开发,核心C语言实现.zip

    其底层API涵盖了文件处理、线程、网络通信、数据库访问等广泛的功能。 面向对象设计: Qt采用面向对象的设计原则,提供了高度模块化的类库,使得代码组织清晰、易于扩展和重用。它遵循MVC(模型-视图-控制器)...

    STM32嵌入式系统开发实战指南 FreeRTOS与LwIP联合移植Part1[机械工业出版社]

    第一篇 平台篇 第1章 ARM处理器简介 ...12.3.2 操作系统模拟层文件sys_arch.c的移植 第13章 工业通信网关解析 13.1 概述 13.2 编码实现 13.3 通信测试 附录A 开发板原理图 附录B 专业术语 参考文献

    几个重要的c程序源码.rar

    2012-06-11 15:36 48,640 lunux下的文件操作编程(最原始的).doc 2012-06-11 15:27 1,386,982 LwIP协议栈源码详解.pdf 2012-06-11 15:23 270,989 n元多项式相乘+数据结构课程设计.rar 2012-06-11 15:41 7,171,049 ...

    openssl-1.0.0a

    OpenSSL还提供了其它的一些辅助功能,如从口令生成密钥的API,证书签发和管理中的配置文件机制等等。如果你有足够的耐心,将会在深入使用OpenSSL的过程慢慢发现很多这样的小功能,让你不断有新的惊喜。

Global site tag (gtag.js) - Google Analytics