libcurl的使用

libcurl的使用1.libcurl sourcecode下载路径: http://curl.haxx.se/download.html点curl-7.46.0.tar.gz下载2.解压之后cd到curl-7.46.0目录下(1)执行./configureprefix=/home/curl(2)make(3)sudomakeinstall这样编译完成之后会在/home/curl下

1.libcurl  source code下载路径: http://curl.haxx.se/download.html 点curl-7.46.0.tar.gz下载

2.解压之后cd到curl-7.46.0目录下

(1)执行./configure –prefix=/home/curl

(2)make

(3)sudo make install

这样编译完成之后会在/home/curl下生成bin  include  lib  share四个文件夹,取include中的头文件和lib下的库文件即可编译自己的程序。

扩展:

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。
其中–prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
如果配置–prefix,如:
./configure –prefix=/usr/local/test
可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。

3.经过以上两部即完成source code的编译,得到了头文件和库文件,下面可以编写自己的程序了

创建curl.c文件内容如下:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "curl/curl.h"
#include "curl/easy.h"

size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream)
{
    size_t written = fwrite(ptr, size, nmemb, stream);

    return written;
}

int main(int argc, char *argv[])
{
    CURL *curl;
    FILE *fp;

    curl = curl_easy_init();
    if((fp = fopen(argv[2], "w")) == NULL)
    {
        curl_easy_cleanup(curl);
        return -1;
    }

    curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
    curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    fclose(fp);
    
    return 0;
}

gcc curl.c  -o saveweb -L/mnt/hgfs/share/curl/  libcurl.a  -lrt 

./saveweb  www.sina.com.cn sina.html

编译时报如下错误,所以加上-lrt

libcurl.a(libcurl_la-timeval.o): In function `curlx_tvnow’:
timeval.c:(.text+0xa9): undefined reference to `clock_gettime’

参考:http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html

今天的文章libcurl的使用分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/8727.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注