curl 设置超时,否则会阻塞
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之后超时,如果不设置,则默认阻塞的去请求,当服务器不在了的时候,会导致阻塞,关闭线程会出问题。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: curl的超时时间设置
- 下一篇: 基于curl的异步http实现