DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

CURLOPT_TIMEOUT(3)




CURLOPT_TIMEOUT(3)  curl_easy_setopt options   CURLOPT_TIMEOUT(3)


NAME

     CURLOPT_TIMEOUT - set maximum time the request is allowed to
     take


SYNOPSIS

     #include <curl/curl.h>

     CURLcode  curl_easy_setopt(CURL  *handle,   CURLOPT_TIMEOUT,
     long timeout);


DESCRIPTION

     Pass a long as parameter containing timeout  -  the  maximum
     time  in  seconds that you allow the libcurl transfer opera-
     tion to take. Normally, name lookups can take a considerable
     time and limiting operations to less than a few minutes risk
     aborting perfectly normal operations. This option may  cause
     libcurl to use the SIGALRM signal to timeout system calls.

     In unix-like systems, this might cause signals  to  be  used
     unless CURLOPT_NOSIGNAL(3) is set.

     If both  CURLOPT_TIMEOUT(3)  and  CURLOPT_TIMEOUT_MS(3)  are
     set, the value set last will be used.

     Since this puts a hard limit for how long time a request  is
     allowed  to  take,  it  has limited use in dynamic use cases
     with varying transfer times. You are then advised to explore
     CURLOPT_LOW_SPEED_LIMIT(3),   CURLOPT_LOW_SPEED_TIME(3)   or
     using  CURLOPT_PROGRESSFUNCTION(3)  to  implement  your  own
     timeout logic.


DEFAULT

     Default timeout is 0 (zero) which means it never  times  out
     during transfer.


PROTOCOLS

     All


EXAMPLE

     CURL *curl = curl_easy_init();
     if(curl) {
       curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");

       /* complete within 20 seconds */
       curl_easy_setopt(curl, CURLOPT_TIMEOUT, 20L);

       curl_easy_perform(curl);
     }


AVAILABILITY

     Always

libcurl 7.58.0    Last change: October 03, 2017                 1

CURLOPT_TIMEOUT(3)  curl_easy_setopt options   CURLOPT_TIMEOUT(3)


RETURN VALUE

     Returns CURLE_OK. Returns CURLE_BAD_FUNCTION_ARGUMENT if set
     to  a  negative value or a value that when converted to mil-
     liseconds is too large.


SEE ALSO

     CURLOPT_TIMEOUT_MS(3),            CURLOPT_CONNECTTIMEOUT(3),
     CURLOPT_LOW_SPEED_LIMIT(3),

libcurl 7.58.0    Last change: October 03, 2017                 2


Man(1) output converted with man2html