zoukankan      html  css  js  c++  java
  • CURLOPT_PROGRESSFUNCTION

    Author:李强(李祥祥)

    Date   :2012-12-15 17:26

    LIBCURL官方网站都没有说清楚道明白进度函数的参数的作用,这点我感觉文档很片面,经总结如下:

    size_t CUploader::ProgressCallBackFun(void *buffer, 
               double dltotal, 
               double dlnow, 
               double ultotal, 
               double ulnow)

    1.当下载时候使用了前面两个参数dltotal,dlnow表示要下载的总的字节大小(如何是续传,dltotal不包含其大小,仅表示需要下载的大小),dlnow表示现在已经下载的字节数。

    2.当为读取表示上传进度时候后面两个参数就起作用了ultotalulnow,ultotal表示需要上传的总大小、ulnow表示已经上传的字节的大小。

    一开始没注意,后来看到别人的实例程序发现,上传和下载使用的参数不一致才醒悟过来,原来参数名表示是这样的:

    dltotal:DownLoad TOTAL-->DLTOTAL:dltotal

    ultotal:  UpLoad TOTAL --->ULTOTAL:ultotal

    呵呵,libcurl你TM也不解释,害的我花这么长时间理解,由于长时间受恩与各大网友,我也不能不做点贡献。

    另外,为了实现上传和下载,我特意做了一个上传和下载工具,实践发现:当下载的时候,如果指定

     curl_easy_setopt(m_pCurl, CURLOPT_POST, true); 下载时不能指定为post方式,否则下载时进度函数dltotal,dlnow都为0,导致下载进度函数执行可能失败!!!!大家可注意了!

  • 相关阅读:
    3.15SQL
    SQL注入
    黑盒渗透测试【转自HACK学习-FoxRoot】
    【学校作业】某项目网络安全技术解决方案
    小米手环4使用半年后的测评报告
    GKCTF赛后复盘
    RCTF赛后复盘
    【课堂笔记】常见漏洞总结
    原型链污染问题的研究
    CTF之Web常见题型总结
  • 原文地址:https://www.cnblogs.com/RodYang/p/3431975.html
Copyright © 2011-2022 走看看