牛骨文教育服务平台(让学习变的简单)
博文笔记

curl 设置超时,否则会阻塞

创建时间:2013-03-14 投稿人: 浏览次数:167
    curl_easy_setopt(priv->curl_handle, CURLOPT_URL, access->url);
    curl_easy_setopt(priv->curl_handle, CURLOPT_HEADERFUNCTION, GetContentInfo);
    curl_easy_setopt(priv->curl_handle, CURLOPT_HEADERDATA, (void*)priv);

    if(strncmp(access->url , this_proto_2 , strlen(this_proto_2)) == 0)
    {
        //for https , we will ignore the CA
        curl_easy_setopt(priv->curl_handle, CURLOPT_SSL_VERIFYPEER, 0L);
    }

    
      //curl_easy_setopt(priv->curl_handle, CURLOPT_NOBODY, 0L);
    
    curl_easy_setopt(priv->curl_handle, CURLOPT_WRITEFUNCTION, WriteCallback);
    
    curl_easy_setopt(priv->curl_handle , CURLOPT_TIMEOUT_MS , 5000);
    curl_easy_setopt(priv->curl_handle, CURLOPT_WRITEDATA, (void *)priv);
    curl_easy_setopt(priv->curl_handle, CURLOPT_USERAGENT, "libcurl-agent/1.0");
以上的 
curl_easy_setopt(priv->curl_handle , CURLOPT_TIMEOUT_MS , 5000);
 这一行是用于设置 5s之后超时,如果不设置,则默认阻塞的去请求,当服务器不在了的时候,会导致阻塞,关闭线程会出问题。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。