zoukankan      html  css  js  c++  java
  • 【Linux编程】Libcurl库的安装和常用函数

    版权声明:本文为博主原创文章,转载请注明出处。 https://www.cnblogs.com/YaoYing/p/14759143.html

    安装Libcurl库

    sudo apt-get install libcurl3
    
    sudo apt-get install libcurl4-openssl-dev
    

    验证

    查看是否有/usr/include/x86_64-linux-gnu/curl/这个目录,如果存在,表示安装成功。

    使用步骤

    1. 调用curl_global_init()初始化libcurl

    2. 调用curl_easy_init()函数得到easy interface型指针

    3. 调用curl_easy_setopt()设置传输选项

    4. 调用curl_easy_setopt()实现回调函数

    5. 调用curl_easy_perform()函数传输任务

    6. 调用curl_easy_cleanup()释放内存

    7. 调用curl_global_cleanup()析构libcurl

    函数介绍

    CURLcode curl_global_init(long flags);
    
    描述:
    这个函数只能用一次。(其实在调用curl_global_cleanup 函数后仍然可再用)
    如果这个函数在curl_easy_init函数调用时还没调用,它将由libcurl库自动调用,所以多线程下最好主动调用该函数以防止在线程中curl_easy_init被多次调用。
    当应用程序不再使用libcurl的时候,应该调用curl_global_cleanup来释放相关的资源。
    注意:虽然libcurl是线程安全的,但curl_global_init是不能保证线程安全的,所以不要在每个线程中都调用curl_global_init,应该将该函数的调用放在主线程中。
    
    参数:flags
    CURL_GLOBAL_ALL          //初始化所有的子模块和一些默认的选项。
    CURL_GLOBAL_SSL          //初始化支持安全套接字层。
    CURL_GLOBAL_WIN32        //初始化win32套接字库,只能应用于Windows平台。
    CURL_GLOBAL_NOTHING      //没有额外的初始化。
    
  • 相关阅读:
    hihocoder_offer收割编程练习赛53_2hiho字符串3
    hihocoder_offer收割编程练习赛53_1继承顺位
    网易招聘笔试题--牛牛的背包问题
    EJB3.0快速入门
    MyEclipse的常用快捷操作----非常实用!!!
    Spring2.5零散笔记
    Hibernate零散笔记
    一个问题引发的OOA&OOD讨论.
    如何使用JUnit进行单元测试
    Log4j自学笔记
  • 原文地址:https://www.cnblogs.com/YaoYing/p/14759143.html
Copyright © 2011-2022 走看看