table of contents
- bookworm 7.88.1-10+deb12u8
- bookworm-backports 8.12.0+git20250209.89ed161+ds-1~bpo12+1
- testing 8.12.0+git20250209.89ed161+ds-1
- unstable 8.12.0+git20250209.89ed161+ds-1
CURLINFO_RETRY_AFTER(3) | Library Functions Manual | CURLINFO_RETRY_AFTER(3) |
NAME¶
CURLINFO_RETRY_AFTER - returns the Retry-After retry delay
SYNOPSIS¶
#include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RETRY_AFTER,
curl_off_t *retry);
DESCRIPTION¶
Pass a pointer to a curl_off_t variable to receive the number of seconds the HTTP server suggests the client should wait until the next request is issued. The information from the "Retry-After:" header.
While the HTTP header might contain a fixed date string, the CURLINFO_RETRY_AFTER(3) always returns the number of seconds to wait - or zero if there was no header or the header could not be parsed.
This option used to return a negative wait time if the server provided a date in the past. Since 8.12.0, a negative wait time is returned as zero. In any case we recommend checking that the wait time is within an acceptable range for your circumstance.
DEFAULT¶
Zero if there was no header.
PROTOCOLS¶
This functionality affects all supported protocols
EXAMPLE¶
int main(void) {
CURL *curl = curl_easy_init();
if(curl) {
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
res = curl_easy_perform(curl);
if(res == CURLE_OK) {
curl_off_t wait = 0;
curl_easy_getinfo(curl, CURLINFO_RETRY_AFTER, &wait);
if(wait)
printf("Wait for %" CURL_FORMAT_CURL_OFF_T " seconds\n", wait);
}
curl_easy_cleanup(curl);
} }
AVAILABILITY¶
Added in curl 7.66.0
RETURN VALUE¶
curl_easy_getinfo(3) returns a CURLcode indicating success or error.
CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3).
SEE ALSO¶
CURLOPT_HEADERFUNCTION(3), CURLOPT_STDERR(3), curl_easy_header(3)
2025-02-08 | libcurl |