免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7278 | 回复: 5
打印 上一主题 下一主题

有没有对libcurl讲解详细的教程或帖子? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-06 02:04 |只看该作者 |倒序浏览
因为需要,想学一下libcurl,但是找不到比较全面的教程
我看mq110版主发的《对CURL的一些研究》,我看了之后疑惑多多。
就拿第一个例子来说:
#include <stdio.h>;
#include <curl/curl.h>;
#include <stdlib.h>;

int main(int argc, char *argv[])
{
&nbsp;&nbsp;&nbsp;&nbsp;CURL *curl;                        //定义CURL类型的指针

&nbsp;&nbsp;&nbsp;&nbsp;CURLcode res;                //定义CURLcode类型的变量


&nbsp;&nbsp;&nbsp;&nbsp;if(argc!=2)
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("Usage : file <url>;\n");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;curl = curl_easy_init();        //初始化一个CURL类型的指针

&nbsp;&nbsp;&nbsp;&nbsp;if(curl!=NULL)
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//设置curl选项. 其中CURLOPT_URL是让用户指定url. argv[1]中存放的命令行传进来的网址

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_easy_setopt(curl, CURLOPT_URL, argv[1]);        
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//调用curl_easy_perform 执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res = curl_easy_perform(curl);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//清除curl操作.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_easy_cleanup(curl);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;return 0;
}


其中:res = curl_easy_perform(curl);
是为了:执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来
根本都看不出来在哪儿设置的在屏幕上显示,并且第二个例子也是类似,也是看的迷迷乎乎

不知道哪儿有没有详细的教程,最好是中文的,因为我E文太烂了~~~,现在又急着看,时间不多了

谢谢了

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2008-01-06 02:34 |只看该作者
官网上有很多资料,虽说你英文差,我想也不至于看不懂吧?
http://curl.haxx.se/libcurl/
教程、手册、例子,应有尽有。

往屏幕上输出是 libcurl 的缺省动作,如果要想改变,你应该看这段:
http://curl.haxx.se/libcurl/c/cu ... tml#CURLOPTREADDATA
http://curl.haxx.se/libcurl/c/cu ... CURLOPTREADFUNCTION
我想你绝对看得懂,当然了,如果懒得去看,那就是另一回事了。

教你一个小诀窍:看不懂的单词可以用金山词霸一类的翻译软件去翻译,专业词汇的翻译准确度基本上在 90% 以上。
比如这段文字:
  1. Function pointer that should match the following prototype: size_t function( void *ptr, size_t size, size_t nmemb, void *stream); This function gets called by libcurl as soon as it needs to read data in order to send it to the peer. The data area pointed at by the pointer ptr may be filled with at most size multiplied with nmemb number of bytes. Your function must return the actual number of bytes that you stored in that memory area. Returning 0 will signal end-of-file to the library and cause it to stop the current transfer.
复制代码

用 google 翻译的结果是:
  1. 函数指针应配合以下原型: size_t函数(无效* ptr , size_t大小, size_t nmemb ,无效*流),这个功能得到所谓libcurl尽快它需要读取数据,以传送给其他同行。数据区指向由指针ptr可能充满最多人数成倍增加,与nmemb的字节数。你的功能,就必须要回到现实的字节数,你储存在记忆体领域。返回0 ,将信号文件结束到图书馆,并造成它停止目前的转移。
复制代码

基本上很准确了。

论坛徽章:
0
3 [报告]
发表于 2008-01-06 10:51 |只看该作者
谢谢版主~

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2008-01-06 11:22 |只看该作者
原帖由 GodPig 于 2008-1-6 10:51 发表
谢谢版主~

不用谢。
说实话,我很鄙视你这种连官网都不看、连手册都不读、连它自带的例子程序都不临摹的人,
只不过当时正好要关机睡觉,看你半夜三更还在那里发帖子求助,不禁生出一种怜悯之情:
如果是自学,则精神可嘉;如果是为了工作,那也应该是被逼到火烧眉毛了。
出于这个目的才帮你的,说实话,看手册看例子比你到 BBS 问人效率高多了,
别觉得自己英语差,你是在搞编程,又不是让你去写诗你怕甚么?
碰到哪个单词不认识查一下就行了,结合文档中夹杂的代码和专业术语,
只要从字典上查出每个单词的意思,就应该能猜出那句话的大概意思来,根本不需要任何英语知识。
退一万步讲,总比“哈虎文博英”好理解呗?

论坛徽章:
0
5 [报告]
发表于 2008-01-06 14:03 |只看该作者
呵呵,是呀
主要是因为现在我想快点把libcurl学会,看英文效率太低
我现在是在做课程设计。
当然,如果坚持看一段时间,英文就不会成为问题了,记得以前看过云风写的《游戏之旅》那本书,里面就写到了他坚持看英文原著,四级都一不小心考了很高的分,呵呵。还有后来听藩爱民讲的深入Windows内部原理,里面也说到了英文学习的问题。
从那时候开始我就想,如果有时间的话,一定要反译一些东西,在不知不觉中提高自己的水平。
但是一直没有实施,前段时间从网上Down了篇《Debugging Kernel Program》,本来想翻译一下自我欣赏呢,但是看到前面的时候,就遇到了好多东西看不懂,所以计划也就流产了。
寒假也快到了,不知道能不能实施一下…………
再次谢谢你,我现在正在硬着头皮看呢……

论坛徽章:
10
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:57牛市纪念徽章
日期:2015-07-13 11:39:252015亚冠之水原三星
日期:2015-07-07 17:57:362015亚冠之柏太阳神
日期:2015-07-06 11:06:152015年亚洲杯之科威特
日期:2015-05-08 13:58:372015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2015-01-09 15:58:00水瓶座
日期:2014-10-15 15:24:072015七夕节徽章
日期:2015-08-21 11:14:06
6 [报告]
发表于 2008-01-06 21:03 |只看该作者
原帖由 flw 于 2008-1-6 11:22 发表

不用谢。
说实话,我很鄙视你这种连官网都不看、连手册都不读、连它自带的例子程序都不临摹的人,
只不过当时正好要关机睡觉,看你半夜三更还在那里发帖子求助,不禁生出一种怜悯之情:
如果是自学,则精神 ...


这性格我喜欢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP