• curl 使用简介


    Libcurl使用介绍:

           四个关键函数:

    1.      curl_easy_init() 初始化curl环境,新建curl对象,返回对象句柄,使用举例:    CURL *handler = curl_easy_init();

    2.      curl_easy_setopt() 各种设置包括URL设置等,使用举例:

      curl_easy_setopt(handler, CURLOPT_URL, “www.baidu.com”),其中中间的参数是设置的类别,比较重要,后面会列举说明.

    3.      curl_easy_perform() 开始执行下载操作若下载失败会返回错误码.例如: CURLcode code = curl_easy_perform(handler)

    4.      curl_easy_getinfo() 得到各种下载信息包括下载文件名,文件大小等,此操作必须放在curl_easy_perform()之后执行才能得到正确的值.使用举例: long resultCode;

       curl_easy_getinfo(handler, CURLINFO_RESPONSE_CODE, &resultCode);

    中间的参数也在后面列举

    必要的参数说明

       curl_easy_setopt()参数:

         CURLOPT_URL  设置目标URL地址

         CURLOPT_HEADER 是否包含http,包含则设置为一个非0

         CURLOPT_NOBODY 如果你不需要httpbody部分(header头以外其他部分),设置此项为一个非0

         CURLOPT_TIMETOU 设置一个超时时间,若超过此时间perform会立即返回,返回码为下载失败对应错误码,单位秒.注意此时间为从调用perform开始后的总的下载时间,举例curl_easy_setopt(handler, CURLOPT_TIMEOUT, 30)

    设置超时时间为30,即下载必须在30秒内完成,否则返回下载失败

         CURLOPT_CONNECTIONTIMEOUT 连接超时时间,单位秒.这个参数在easy curl下载中基本没什么实用价值.

         CURLOPT_RESUME_FROM_LARGE 从什么位置开始下载,断点续传主要使用此参数进行配置,使用非常简单,只需要传递一个字节偏移量即可,例如

     curl_easy_setopt(handler, CURLOPT_ RESUME_FROM, 0),表示从第0个字节开始下载, curl_easy_setopt(handler, CURLOPT_ RESUME_FROM, 500),从第500个字节开始下载

         CURLOPT_RANGE 下载指定字节的文件块,参数对应的值格式为X-Y,例如curl_easy_setopt(handler, CURLOPT_ RESUME_FROM, “500-999”),下载从500个字节开始到999字节结束的文件块

         CURLOPT_NOPROGRESS 如果不需要下载进度设置此项为一个非0

         CURLOPT_PROGRESSFUNCTION 设置回调的进度函数,设置后,会不断的调用进度函数,并传递参数总大小和已下载大小给该函数

         CURLOPT_PROGRESSDATA 设置传递给回调的进度函数的一个参数,类型为字符串类型,后面jwisp会举例说明

    curl_easy_getinfo() 部分参数说明

         CURLINFO_RESPONSE_CODE 得到perform的执行结果码

         CURLINFO_CONTENT_LENGTH_DOWNLOAD 得到下载文件大小

  • 相关阅读:
    CUDA[2] Hello,World
    mysql操作
    virsh 连接虚拟机 (vnc 或 控制台)
    ssh访问流程
    使用ceph-deploy进行ceph安装
    openstack 的horizon的结构
    django 后台格式化数据库查询出的日期
    web 应用的部署
    工具
    python性能优化
  • 原文地址:https://www.cnblogs.com/howeho/p/3436080.html
Copyright © 2020-2023  润新知