标签归档:curl

RSS feed of curl

最后更新于 .


前几天同事的程序有个很奇怪的bug,跟大家分享一下。
描述如下:一个http接口在测试环境下能够正常访问,在外网环境下就会直接超时,并且超时的消耗是建是0ms。
我strace了一下,libcurl在测试环境能正常发包,在外网环境却总是直接返回,连连接都没有尝试建立。

仔细研究了他的代码,发现并没有什么不合理之处,一筹莫展时发现有如下代码:


curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, (int)(timeout_sec*1000));
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, (int)(timeout_sec*1000));

突然想起之前有文章说curl只支持秒级的超时时间,而我们外网的超时配置的是0.5秒。
把超时时间改成1秒之后,果然一切正常了。

google上搜了一下,在如下链接找到了答案:
http://stackoverflow.com/questions/1856473/why-would-curl-ignore-curlopt-timeout-ms-but-honor-curlopt-timeout


The version of curl I am using (7.15.5) doesn't support CURLOPT_TIMEOUT_MS. According to Greg ...

最后更新于 .

本篇主要是一些使用示例,由于部分代码是来源网上,原作者已经无法考证,所以如有原作者看到,可以告诉我,我给注明~

上一篇链接--libcurl的使用总结(一)

另:文末附有所有代码的打包下载,均在suse 10下编译运行通过

1.下载文件到本地

/*==============================================
#  Author:          DanteZhu - http://www.vimer.cn
#  Email:           dantezhu@vip.qq.com
#  FileName:        test_download.cpp
#  Version:         1.0
#  LastChange:      2010-03-09 14:20:44
#  Description:     
#  History:         
============================================*/

#include <iostream>
#include <string>
#include <vector>
#include <map>
#include ...

最后更新于 .

最近的项目中由于要在C++代码中调用PHP的URL,所以不得不借助libcurl这个库,由于第一次用,所以很多地方很是纠结,特此写在这里,方便给同样刚入门的朋友指引。
分两篇介绍,第一篇是理论知识,第二篇是实例。快速链接--libcurl的使用总结(一)

一.下载安装
    1.到http://curl.haxx.se/download.html上下载最新版本,由于公司的机器安装rpm有依赖关系,所以直接下载了source
    2.编译。解压后进入curl的目录,直接执行 make all 就行。
    3.等待编译结束后,可以查看目录结构。
        curl/include/curl : 头文件目录 (一般只要包含curl.h即可)
        curl/lib/.lib/      : lib文件目录(有libcurl.a和libcurl.so,注意,如果这两个文件在同一目录下,-lcurl默认是链接.so滴)

二.函数简要说明
在基于LibCurl的程序里 ...