您的位置:首页 > 其它

curl使用简介

2017-07-13 21:00 162 查看

编译时候,链接-lcurl库,gcc curl.c -lcurl

/*************************************************************************
* File Name: curl.c
* Author:    The answer
* Function:  Other
* Mail:      2412799512@qq.com
* Created Time: 2017年07月13日 星期四 11时25分52秒
************************************************************************/

#if 0

` 创建curl句柄
` 设置curl句柄参数
` 通过curl句柄向服务器发起请求
` 读服务器的相应数据

1.要使用一个简单的界面,你必须首先创建一个简单的句柄;你需要执行的每一个简单的会话,都需要一个简单
的句柄;不能够在多个线程中公用一个句柄,所以需要为每一个线程都创建一个句柄;
(1) easyhandle = curl_easy_init()
返回一个简单的句柄;使用它来进行下一步的操作:执行你的首选操作,句柄只是一个即将到来的转移或一系列
转移的逻辑实体;
(2) curl_easy_setopt() 为此句柄设置属性和选项;它们控制后续的如何转移和操作;选项仍然设置在句柄中,
知道再次设置为不同的东西;
(3) curl_easy_perform() 将连接到远程站点,执行必要的命令并且执行传输;无论何时就收到数据,它都会调用我们以前设置的回调函数;该函数一次可以获得一个字节,或者一次可以获得千个字节;它是一个"阻塞函数"
(4) curl_easy_cleanup(); 清理相应内存空间

#endif

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<curl/curl.h>

/* 1.使用curl来向服务器获取网页 ;前提是安装了apache服务器;sudo apt-get apache2
* 2.若想写一个网页并且发布给别人,需要将其放在: /var/www/html下面,现在这下面有
* 一个lxg.html文件,内容为 i am  happy.可以在浏览器上面通过本地ip地址访问,还可
* 通过curl来获取网页的内容;下面就通过curl程序来获取giant网页内容.
*/

int main(int argc,char **argv)
{
CURL *curl = curl_easy_init();
curl_easy_setopt(curl,CURLOPT_URL,"http://127.0.0.1/lxg.html");

/*对curl句柄设置了此属性之后,则不会将其默认打印到终端(terminal)标准输出,而是
*去调用write_callback
*/
curl_easy_setopt(curl,CUROPT_WRITEFUNCTION,callBack);
//阻塞调用,服务器的响应将会输出到标准输出
curl_easy_perform(curl);
/*调用curl_easy_perform()函数后会自动的将curl打成一个http通信协议的包,然后
* 发送给服务器,服务器收到该包之后,又返回一个包给客户端
*/
curl_easy_cleanup(curl);
return 0;
}


执行结果: i am happy.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: