使用libcurl库进行HTTP的下载
来源:互联网 发布:淘宝退货淘金币退吗 编辑:程序博客网 时间:2024/04/30 02:27
由于这段时间需要进行跨平台的代码处理,以前写的很多代码都没办法用了.以前用的是win的WinInet库进行HTTP上传和下载的,在Linux下肯定无法使用了,而我又对socket这些东西不是很了解,只能找一些第三方的跨平台库来使用了.不知道出于啥原因,选择了libcurl.然后花了数天时间来了解这个库有关上传下载的东西,可能我的搜索水平有限吧,直到这两天才真正找到一些可供参考的东西.当然我也试着阅读了libcurl的官方文档,但很无奈,英文水平太差,读完后还是不知道该怎么用.
先贴三个对此次学习帮助最大的三个网址吧:
curl官网:http://curl.haxx.se/libcurl/
JGood对libcurl很多函数的官方文档翻译,加了一些实例,很清晰: http://blog.csdn.net/JGood/archive/2009/11/08/4787670.aspx
浪迹天涯对libcurl的一些使用心得,从中我得到了怎么判断HTTP地址的文件是否存在的判断方法:
http://www.cppblog.com/qiujian5628/archive/2008/06/28/54873.html
先说下思路吧:
用curl库,一般步骤为:
先使用curl_global_init()初始化curl,然后使用curl_easy_init()获取curl句柄,再根据得到的句柄进行一些操作设置curl_easy_setopt(),设置完后用curl_easy_peform()执行你以前所做的所有设置.若在设置上做了READ或WRITE等动作,在执行完后还可以用curl_easy_getinfo()来获取你取得的一些东西,这里可以进行一些判断(我就是在这里判断HTTP头,来处理到底远程文件是否存在的).最后就是用curl_easy_cleanup(),curl_global_cleanup()来清理以前初始化的东西.
具体的请看JGod大大的blog.
比较需要了解的还是curl_easy_setopt()的参数:
设置好后就能利用curl进行文件的上传和下载了.
接下来进入主题,上代码:
在外部只要传入url如:http://192.168.1.1/868.txt,和欲存到本地的文件名file_name就行了.
忘了说明了,这目前只是在win下知道怎么用了,linux下还没有编译,等把上传实现了再说.
- 使用libcurl库进行HTTP的下载
- libcurl库的使用(通过libcurl库下载url图像)
- libcurl库进行http通讯-基于 C 的 HTTP 客户端
- 使用libcurl进行邮件的下载与转发
- libcurl使用HTTP的get请求来下载文件
- c++中使用libcurl库进行http网络编程
- libcurl库进行http通讯-一些基本的函数
- libcurl库的http get和http post使用
- libcurl库的http get和http post使用
- libcurl库进行http通讯-开篇
- libcurl库的使用支持http、https、ftp上传下载
- libcurl库的使用
- libcurl库的使用
- libcurl库的使用
- libcurl库的使用
- libcurl库的使用
- libcurl库的使用
- 使用libcurl进行文件下载类项目开发(一) libcurl简单使用介绍
- linux的设备类型
- Spring+Hibernate用 c3p0配置数据库连接池
- Oracle Database 11g数据库管理艺术(涵盖DBA必知必会的所有数据库管理知识)
- 查看表空间的利用情况
- 求1到N个数中包含质因子m的数的个数
- 使用libcurl库进行HTTP的下载
- GetModuleFileName获得程序路径
- 经典C/C++面试题
- Windows Mobile 开发系列文章收藏
- sql 语句对时间操作的总结
- c++ 变量声明: 成员函数指针 成员变量指针
- 打印盘点凭证MI21时报错
- 移动流媒体技术及其应用发展方向
- VC++.NET调用WebService