curl操作,curl命令进行接口测试详解

  curl操作,curl命令进行接口测试详解

  curl c/c api接口使用的例程Mr _ von专栏-博客频道-CSDN。网

  curl c/c api接口使用例程

  2008-11-18 16:10

  261人阅读

  评论(0)

  收集

  首先报告并总结本网站上与curl相关的文章:

  linux下php扩展cURL的安装

  CURL中文用户手册(1)

  CURL中文用户手册(二)

  Curl中文用户手册(三)

  [转贴] php cURL函数扩展文档

  php cURL扩展的例子

  用curl下载大文件

  除了以上这些,curl还提供了一套网络c/c api接口。下面是一个源代码例程:

  资料来源:http://bbs.chinaunix.net/viewthread.php? tid=586014

  前两天看到有人求客户端socket发HTTP包的代码。受flw版主的启发,找了一些perl的资料,但是还是不太熟悉perl。没有深入的

  研究。我偶然发现了图书馆。在google上搜索发现,这是一个处理客户端发送的HTTP请求的库,可以处理web服务器的反馈。

  包包。研究了两天,我把研究成果分享给大家一起研究。

  参考:http://curl.haxx.se/这是curl开发者的主页。

  使用libcurl.so库,我们可以很容易地连接到某个网站。获取主页的html代码或http请求的标题。您还可以提交表单,

  此外,它还支持ftp、https、

  /usr/include/curl/curl.h。

  1 URL code curl _ global _ init(long flags);

  描述:

  该功能只能使用一次。(其实调用curl_global_cleanup函数后还是可以重用的)

  如果在调用curl_easy_init函数时还没有调用这个函数,将由libcurl库自动完成。

  参数:标志

  CURL_GLOBAL_ALL //初始化所有可能的调用。

  CURL_GLOBAL_SSL //初始化对安全套接字层的支持。

  CURL_GLOBAL_WIN32 //初始化WIN32套接字库。

  CURL_GLOBAL_NOTHING//没有额外的初始化。

  2 void curl _ global _ clean up(void);

  描述:用于在libcurl使用结束时清除curl_global_init。类似Close的函数。

  3 char * curl _ version();

  描述:打印当前libcurl库的版本。

  4 curl * curl _ easy _ init();

  描述:

  CURL_easy_init用于初始化CURL指针(有些像返回文件类型的指针)。应该使用cursor _ easy _ cleanup函数在调用结束时清理它。

  通常curl_easy_init意味着会话的开始。它的返回值一般用在简单的级数函数中。

  5 void CURL _ easy _ clean up(CURL * handle);

  描述:

  此呼叫用于结束会话。它与curl_easy_init一起工作。

  参数:

  CURL类型的指针。

  6 curlcodecurl _ easy _ setopt(CURL * handle,CURLoptionoption,parameter);

  说明:这个功能是最重要的。几乎所有的curl程序都经常使用它。

  它告诉curl library程序将如何运行,比如查看网页的html代码。

  (这个函数有点像ioctl函数)

  参数:

  1c指向1CURL类型的指针

  2种不同弯曲类型的选项。(均在curl.h数据库中定义,man也可以查看)

  3参数可以是一个指向函数的指针,一个指向对象的指针,或者是一个长整型变量。它使用什么取决于第二个参数。

  CURLoption有很多价值。有关详细信息,请参考手册。

  7 curlcodecurl _ easy _ perform(CURL * handle);

  描述:这个函数是在CURL类型的游标初始化,curl_easy_setopt结束后调用的。顾名思义,表演就像一个舞台。让我们设定它

  选项有效。

  参数:

  CURL类型的指针。

  这里有一个简单的例子:

  用于获取主页的Html代码

  #包含stdio.h

  #包含卷曲/卷曲. h

  #包含stdlib.h

  //设置卷曲选项。CURLOPT_URL是由存储在url.argv[1]中的命令行传入的URL

  curl_easy_setopt(curl,CURLOPT_URL,argv[1]);

  //调用curl_easy_perform来执行我们的设置,并执行相关操作。它只显示在这里的屏幕上。

  RES=curl _ easy _ perform(curl);

  //清除卷曲操作。

  curl _ easy _ clean up(curl);

  }

  return0

  }

  编译:gcc-o001-Wall001.c-lcurl

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: