qt中使用libcurl下载数据_libCURL在Qt中的使用

本文介绍了在Qt中如何利用libCURL库进行FTP的下载和上传操作,详细阐述了CURL的初始化、选项设置以及写入和读取函数的实现,特别提到了FTP的ASCII和Binary传输模式的重要性。
摘要由CSDN通过智能技术生成

最近业余时间在搞Qt,其中的一个功能是实现FTP的上传下载。

之前版本的Qt提供了一个FTP操作的类,但是5.x(4.x?)之后因为性能问题就弃用了。貌似CSDN上有人发帖问过这个问题,记得应该是put多大的文件时导致占用内存过大。现在Qt的官方手册推荐使用QNetworkAccessManager用于TCP/IP以及FTP的传输。说实话这玩意对于FTP的兼容并不好。于是想到了CURL。

网上关于CURL和libCURL的文章很多,但是用于FTP操作的文章大多数停留于试验性的代码。别的不说,忽略了一个比较重要的问题就是FTP的传输模式。

FTP有两种传输模式,ASCII和Binary,即TYPE A 和TYPE I。大家的文章里面都没有提到这个事情。我用libCURL主要是传输文本文件,所以这个问题一下就浮现出来了。

libCURL的下载什么的就不说了,到官网上找windows的包就可以,记得下载develop版本。

在QT里面使用动态库,首先要做的肯定是修改pro文件。

1 LIBS += C:\your-curl-lib-location\curl-7.34.0-devel-mingw32\lib\libcurldll.a2

3 INCLUDEPATH += C:\your-curl-lib-location\curl-7.34.0-devel-mingw32\include

首先指定静态库位置,接着指定include路径。这个没什么好说的。然后把curl路径下的bin目录中的dll拷贝到debug文件夹。否则run的时候会“莫名其妙”的停止。

这里使用的是CURL的easy借口(貌似网上的文章都是使用的这个)。

先来看下下载代码。

1 CURLcode ret;2 curl_global_init(C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值