粗看libcurl

一直想学习下libcurl库,昨天代码写了不少,今天有点空闲,粗看了下libcurl中带的指南,深深感到这套库的灵活和强大。
下面贴点笔记:

libcurl使用:
1、初始化与释放:
curl_global_init()有一个参数,取值为以下的:
CURL_GLOBAL_ALL 这个宏,标识初始化所有对象
CURL_GLOBAL_WIN32 :
WIN32 平台下使用

 

CURL_GLOBAL_SSL :
控制SSL编译你开关。需要SSL时使用

libcurl使用完毕后,需要执行清理工作:
curl_global_init
curl_global_cleanup

2、简单使用
libcurl提供一套curl_easy开头的函数,提供了简单的接口供用户使用
使用前需要创建一个easy_handle作为操作句柄,单个句柄只支持单线程,不要将它放在多线程中使用。

使用curl_easy接口的步骤:
1、初始化返回操作句柄
2、对操作句柄进行设置
3、提交
4、释放操作句柄

初始化curl_easy接口:
 easyhandle = curl_easy_init();
 
设置curl_easy接口,使用的是类似setsockopt的接口:
curl_easy_setopt(handle, CURLOPT_URL, "http://domain.com/");
CURLOPT_URL这是个宏,用来表示设置的是什么属性(URL,提交类型等)

-----------------------------------------------------------------

其核心就是curl_easy_setopt的第二个参数,其取值决定了第三个值。
简直是无所不能。贴个简单的post代码,来自libcurl官方,稍加修改就可以做成一个刷留言板的回帖机:

 #include <stdio.h>
#include "curl/curl.h"
 
int main(void)
{
  CURL *curl;
  int i = 0;
  CURLcode res;
 
  curl = curl_easy_init();
  if(curl) {
    /* First set the URL that is about to receive our POST. This URL can
       just as well be a https:// URL if that is what should receive the
       data. */ 
    curl_easy_setopt(curl, CURLOPT_URL, "这里得到的是抓包得到的网址");
    /* Now specify the POST data */ 
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "这里填写抓包得到的提交字符串");
 
    /* Perform the request, res will get the return code */ 
	for (i = 0; i < 500; i++)
	{
		res = curl_easy_perform(curl);
		Sleep(5000);
	}


 
    /* always cleanup */ 
    curl_easy_cleanup(curl);
  }
  return 0;
}

posted @ 2010-09-01 22:40  飘啊飘  阅读(791)  评论(2编辑  收藏  举报